Socket有关的问题

sky我的世界 2016-04-16 12:29:43
客户端
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;

public class Client {
public static void main(String[] args) {
try {
Socket socket=new Socket("localhost",5000);
OutputStream os=socket.getOutputStream();
String sent="my name is java";
byte[] sents=sent.getBytes();
os.write(sents);

socket.shutdownInput();
//客户端接收服务器发出的响应
InputStream is=socket.getInputStream();
BufferedReader br=new BufferedReader(new InputStreamReader(is));
String info;
while((info=br.readLine())!=null)
{
System.out.println("客户端:正在接收响应"+info);
}
//关闭资源
br.close();
is.close();
os.close();
socket.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}

服务器端
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {
public static void main(String[] args) {
try {
ServerSocket serverSocket=new ServerSocket(5000);
Socket socket=serverSocket.accept();
InputStream is=socket.getInputStream();
BufferedReader br=new BufferedReader(new InputStreamReader(is));
String info;
while((info=br.readLine())!=null)
{
System.out.println("服务器:接收到的信息"+info);
}

//服务器给出响应
String sent="ok i know";
byte[]sents=sent.getBytes();
OutputStream os=socket.getOutputStream();
os.write(sents);
//关闭资源
os.close();
br.close();
is.close();
socket.close();
serverSocket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}

这段段代码有什么问题吗?为什么会报java.net.SocketException: Connection reset求解!!!
...全文
128 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
anakin_feng 2016-04-17
  • 打赏
  • 举报
回复
Client 18行输入流被你关闭了
NothingSerious2811 2016-04-17
  • 打赏
  • 举报
回复
另外,先启动服务器端,再启动客户端
NothingSerious2811 2016-04-17
  • 打赏
  • 举报
回复
readline这个功能,需要发送消息方,把换行符也发送过来,在你要发送的消息后加上/n
sky我的世界 2016-04-16
  • 打赏
  • 举报
回复
有人知道吗?

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧