小编Raf*_*oto的帖子

java.net.SocketTimeoutException:读取超时

我有一个客户端服务器架构的应用程序.客户端使用Java Web Start和Java Swing/AWT,sert使用HTTP服务器/ Servlet和Tomcat.通信是从对象的序列化中创建的,创建一个ObjectOutput序列化一个字节数组并分别发送到服务器并调用ObjectInputStream并反序列化.

应用程序遵循正确的并发通信时间,并开始显示错误"SocketException read timeout".当服务器在我的servlet doPost方法中调用方法ObjectInputStream.getObject()时,会发生错误.

tomcat将变慢并且错误开始减少服务器响应时间,直到我必须重新启动服务器并且一切正常后的崩溃时间.

有人经历过这个问题吗?

客户代码

URLConnection conn =  url.openConnection();
conn.setDoOutput(true);

OutputStream os = conn.getOutputStream();
ObjectOutputStream oss = new ObjectOutputStream(os);

oss.writeUTF("protocol header sample");

oss.writeObject(_parameters);
oss.flush();
oss.close();
Run Code Online (Sandbox Code Playgroud)

服务器代码

ObjectInputStream input = new ObjectInputStream(_request.getInputStream());
String method = input.readUTF();

parameters = input.readObject();
Run Code Online (Sandbox Code Playgroud)

input.readObject()是错误的位置

java sockets tomcat objectinputstream socketexception

8
推荐指数
1
解决办法
6万
查看次数

Geoserver中的SQL查询

任何人都知道为什么地理服务器在设置图层时没有实现直接的SQL查询?

geoserver

3
推荐指数
1
解决办法
4490
查看次数