SocketTimeoutException: Read timed out请各位帮帮忙!!!

syc574937516 syc574937516 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;

//客户端
public class SocketClient {

public static void main(String[] args){
try {
Socket socket=new Socket("127.0.0.1",21112);
socket.setSoTimeout(10*1000);
DataInputStream in=new DataInputStream(new BufferedInputStream(socket.getInputStream()));
OutputStream out =socket.getOutputStream();
out.write("client".getBytes());
out.flush();
int r=0;
//数据不能读完,但是已经没有数据了
while((r=in.read())!=-1){
System.out.print((char)r);
}
System.out.println("end");
} catch (Exception e) {
e.printStackTrace();
}
}

}


import java.io.BufferedOutputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
//服务端
public class SocketServer {

public static void main(String[] args) {
try {
ServerSocket server=new ServerSocket(21112);
Socket socket=null;
socket=server.accept();
System.out.println("有客户端连接了");
DataOutputStream out=new DataOutputStream(new BufferedOutputStream(socket.getOutputStream()));
InputStream in=socket.getInputStream();
out.write("server".getBytes());
out.flush();
int r=0;
while((r=in.read())!=-1){
System.out.print((char)r);
}
} catch (IOException e) {
e.printStackTrace();
}
}

}


先运行服务端,然后运行客户端,
服务端输出:有客户端连接了 client
客户端输出:server
超时后服务端错误为:java.net.SocketException: Connection reset
客户端错误为:java.net.SocketTimeoutException: Read timed out
按照网上方法试过还是不行,不知道问题在哪里?
...全文
评论 2
收藏 已收藏
分享
返回顶部
syc574937516
Java EE 67,535 成员 225,843 内容