java中java.net.SocketException: Connection reset 5
java中出现问题,很简单的一个程序服务器和客户端packagecorejava;importjava.io.BufferedReader;importjava.io.I...
java中出现问题,很简单的一个程序服务器和客户端
package corejava;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) {
try {
ServerSocket s=new ServerSocket(10000);
System.out.println("等待客户端访问");
Socket sock=s.accept();
System.out.println("客户端已连接");
System.out.println("接收到:"+sock.getInetAddress().getHostAddress()+"的访问");
//服务器通过getInputStream进行读操作
BufferedReader br=new BufferedReader(new InputStreamReader(sock.getInputStream()));
String str=br.readLine();
System.out.println(str);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
客户端是:
package corejava;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
public class Client {
public static void main(String[] args) {
try {
Socket socket=new Socket("127.0.0.1", 10000);
System.out.println("客户端连接服务器");
//客户端键盘读一行数据发送给服务器
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String str=br.readLine();
//写到服务器——服务器进行读操作
//字节流——一次写一行的流类
PrintWriter out=new PrintWriter(socket.getOutputStream(),true);
out.print(str);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
大神们求教啊 展开
package corejava;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) {
try {
ServerSocket s=new ServerSocket(10000);
System.out.println("等待客户端访问");
Socket sock=s.accept();
System.out.println("客户端已连接");
System.out.println("接收到:"+sock.getInetAddress().getHostAddress()+"的访问");
//服务器通过getInputStream进行读操作
BufferedReader br=new BufferedReader(new InputStreamReader(sock.getInputStream()));
String str=br.readLine();
System.out.println(str);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
客户端是:
package corejava;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
public class Client {
public static void main(String[] args) {
try {
Socket socket=new Socket("127.0.0.1", 10000);
System.out.println("客户端连接服务器");
//客户端键盘读一行数据发送给服务器
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String str=br.readLine();
//写到服务器——服务器进行读操作
//字节流——一次写一行的流类
PrintWriter out=new PrintWriter(socket.getOutputStream(),true);
out.print(str);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
大神们求教啊 展开
2015-08-13
展开全部
br用完应该要close()的。
追问
不是这个问题吧,关闭了也还是报这个错啊
追答
out..flush();
out.close();
这些流用完都要关闭。并且socket用完也要关闭
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我记得这个错误,是因为Client 无故断掉连接报的错吧。记不清了。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我运行了一下,没得问题,应该是先运行服务端 再运行客户端吧!还有就是IO操作 都要用到close吧,Socket用完都要用到close()吧
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询