java Socket的怪异之处
怪异之一:
connect(SocketAddress endpoint):这个方法,尝试连接server端,如果连接不上,就抛出IOException异常。如果连接成功了,就继续执行下一步的代码。
怪异之二:
boolean isConnected() :这个方法的结果仅仅代表这个socket曾经成功连接到了server,但并不表示现在这个时刻它和server仍保持连接状态。
有心的人会发现,即使你已经切断了server和socket之间的连接(比如server down掉了或网络中断了),但是这个函数执行的结果仍旧是true。所以,我认为这个方法并不像我们想象中的那么“管用”。
怪异之三:
考虑这样一种情况:
1.socket和server socket已经建立了连接
2.但是由于网络原因,这个时候连接中断了。大多数系统都会有一个断线重连的功能。
但是当你调试时,你可能会发现:网络恢复正常后,用这个socket重新连接serverSocket,却怎么也连不上。
在这里我的做法是:
socket=null;
//然后新建socket,而不是用原来的那个socket
socket = new Socket();
//接下来,用这个socket再去连接serverSocket,就可以成功连上了。
相关文档:
初学者更适合使用文本编辑软件来学习Java,对Java有一定认识后推荐使用Eclipse,对那些要求开发效率的程序员当然首选就是JBuilder。
对于文本编辑软件我推荐EditPlus,EditPlus是很多程序员非常熟悉的编辑工具,它以占用系统资
源小、操作简便灵活、支持文件类型丰富 ......
下面是常用处理日期的方法,希望对大家有用!
在我 ......
1. Rabbit流密码(Rabbit Stream Cipher)简介
Rabbit流密码是由Cryptico公司(http://www.cryptico.com)设计的,密钥长度128位,
最大加密消息长度为264 Bytes,即16 TB,若消息超过该长度,则需要更换密钥对剩下的消息进行处理。它是目前安全性较高,加/解密速度比较高效的流密码之一� ......
1 相关知识介绍
1.1 SMB
Microsoft网络配置中主要采用SMB形式实现文件共享和打印服务,SMB(服务器消息块)是一种客户端/服务器文件共享协议。IBM于20世纪80年代末期开发了服务器信息块(SMB),用于规范共享网络资源(如目录、文件、打印机以及串行端口)的结构。这是一种请求/响应协议。与FT ......