ldcf.net
当前位置:首页 >> jAvA里soCkEt通信,异常处理问题. >>

jAvA里soCkEt通信,异常处理问题.

直接用这种方式处理: while(true){socket = new Socket(("192.168.183.1", 9002);socket.setSoTimeout(5000);//5000ms = 5stry{socket.connect();}catch(IOException e){//这行写你提示通信失败提示continue;}}

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

端口监听和建立管道。首先服务器端绑定监听端口,然后客户端socket连接到这个端口,控制台输入的字符串都会被在这个端口监听的服务器接收到。

- - 你的程序格式 估计没人想看 在myeclipse里格式化也没用 大致看看 估计你的服务器端 没while(true)循环吧

如果服务器是单机上网 那你需要知道的是服务器在nternet网上的地址服务器访问http://www.ip138.com/ 就看得出来 假设是58.100.15.199那你修改192.168.209.1为 58.100.15.199 就可以了 如果服务器在局域网里 通过路由器上网的 那你是不能直接连接...

java编程对于Socket之间的通信过程如下: 服务端往Socket的输出流里面写东西,客户端就可以通过Socket的输入流读取对应的内容。Socket与Socket之间是双向连通的,所以客户端也可以往对应的Socket输出流里面写东西,然后服务端对应的Socket的输入...

空指针异常是由于: 1 你这个socket是null的,原因是: 你initSocket时是不是在成员变量上new Socket().而是新建了一个局部变量socket去创建. 但是你closeSocket关闭的是成员变量中的socket. 修改代码: public void initsocket(){ try { socket = n...

IP 是不是你的服务器的电脑的 另外,防火墙是否有 ~

亲,您确定socket = new Socket("localhost", 12345); 这一句没有抛出异常,也就是服务器端有正常启动监听?

socket 的 setSoTimeout 设置超时时间 单位是毫秒。超过设置时间抛出SocketTimeoutException 异常。 捕获SocketTimeoutException异常关闭连接就行了。

网站首页 | 网站地图
All rights reserved Powered by www.ldcf.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com