导航:首页 > 编程语言 > javasocket异常

javasocket异常

发布时间:2022-08-13 19:56:49

java中使用Socket连接,关闭是出异常如何处理

你光有try catch,但实际并未对产生的网络异常进行处理,然后继续循环,那自然是无限异常下去了。只要在catch到异常后进行相应处理即可,比如关闭连接,然后退出。在服务端,客户端都加上这个处理,比如在客户端加,如下

publicvoidrun()
{
while(true)
{
Useru=newUser();
u.setName("1");
ObjectOutputStreamoos;
try
{

oos=newObjectOutputStream(s.getOutputStream());
oos.writeObject(u);
}
catch(Exceptione)
{
//TODOAuto-generatedcatchblock
e.printStackTrace();

//注意,这边会看到显示的是true,因为对方并没有调用close来关闭连接,而是直接终止程序
System.out.println(s.isConnected());

if(s!=null)
{
try
{
s.close();
s=null;
}
catch(Exceptionex)
{
ex.printStackTrace();
}

System.out.println("远程连接异常,关闭连接");
return;
}
}
}
}

注:

你的这种情况即不能用u=ois.readObject())!=null来判断,也不能用s.isConnected&&!s.isColse()来判断,因为你是直接终止服务端或者客户端的运行,而不是先close连接,再终止程序。

㈡ java里socket通信,异常处理问题。

直接用这种方式处理:

while(true){
socket=newSocket(("192.168.183.1",9002);
socket.setSoTimeout(5000);//5000ms=5s
try{
socket.connect();
}catch(IOExceptione){
//这行写你提示通信失败提示
continue;
}
}

㈢ Java socket 编程 连接失败!

如果是不停的发送数据,你可以维持一个socket长连接,当客户端连接上发送完数据后不要关闭socket,继续发送握手信息以维持连接。客户端很多的话就用线程池ThreadPoolExecutor.
具体资料:

㈣ java异常处理:关于Socket编程的

当输入过程中意外到达文件或流的末尾时,抛出此异常。 此异常主要被数据输入流用来表明到达流的末尾。注意,其他许多输入操作返回一个特殊值表示到达流的末尾,而不是抛出异常。
代码太少,无法再细说了。

㈤ java.net.SocketTimeoutException: Read timed out

具体的解决方法如下:


修改tomcat配置文件server.xml,找到类似于下面配置:

<Connector port="8086" maxHttpHeaderSize="8192"。

maxThreads="150" minSpareThreads="25" maxSpareThreads="75"。

enableLookups="false" redirectPort="8443" acceptCount="100"。

connectionTimeout="20000" disableUploadTimeout="true" /> 。

将上面的参数disableUploadTimeout值改为false即可。

阅读全文

与javasocket异常相关的资料

热点内容
有溯源码一定保真吗 浏览:997
云服务器建设方案 浏览:986
jquery源码讲解 浏览:280
宝马app如何发帖 浏览:861
重庆服务器托管商云空间 浏览:439
浦发银行app如何调流水 浏览:677
玉石鉴赏pdf 浏览:842
为什么小度APP一直连不上网络 浏览:163
pdf模板java 浏览:40
现代瑞纳的压缩比 浏览:128
网吧里的ftp服务器有什么用 浏览:872
程序员年终总结工作体会 浏览:153
pdf可以直接打印 浏览:661
android刷wp8 浏览:912
历史地图集pdf 浏览:926
快手app极速版怎么扫码 浏览:805
qq程序员玩法 浏览:96
1是什么门电路app 浏览:867
博之轮运动手表用什么app 浏览:646
asp视频聊天源码 浏览:85