导航:首页 > 编程语言 > 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异常相关的资料

热点内容
解压伤感图片 浏览:472
python判断周几 浏览:14
数据文档加密保管 浏览:166
app会员如何运营 浏览:856
工行app登录名如何改 浏览:23
window怎么登陆服务器 浏览:992
Python取ID对应的值 浏览:633
现在我的世界什么服务器最混乱 浏览:764
美国好的源码出售 浏览:325
苹果ipad文件夹怎么添加文字 浏览:485
腾讯云连接自己的服务器地址 浏览:218
硕士英语综合教程pdf 浏览:46
分段加密的安全性 浏览:507
咪咕直播为什么没有适配安卓系统 浏览:172
php模版大全 浏览:102
没车能解压吗 浏览:634
php开发oa系统源码 浏览:759
怎么安装苹果ios的app 浏览:581
app拉新如何机刷 浏览:480
zendeclipseforphp 浏览:480