Socket问题 是很有可能的,网络不好的情况下 ,即使socket 不关,对方也有可能收不到数据 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有可能。在建立连接的时候,socket有一个linger选项,如果这个选项被某一方置为“设置”状态,在调用关闭网络连接方法的时候,OS会将socket粗暴的关闭,而不管发出的数据包的ack是否已经回来,也就是说,不管对方是否已经接收到这个数据包,网络连接都会直接断开,所有相关资源也会立即被释放。如果linger没有“设置”,除了出现异常外,一般不会丢包。一般来讲,如果只是建立了一个“很普通的”连接,既使你调用的关闭连接的方法(甚至程序进程直接退出),在对方接收到数据包之前,链路也不会被OS彻底中断掉。此时,这个连接一般会处于类似于“TIME_WAIT”的状态一段时间。 不过,话又说回来,引起丢包的原因是很多的,很难避免。所幸,OS在实现TCP协议的时候,都有丢包重传的机制。但是这不是万能的,如果重传了N次都失败的话(N视不同的OS而不同),OS就会告诉应用程序失败(使用同步方式工作的话,一般体现为方法调用失败或异常;使用一步的方式工作的话,一般会触发一个消息,当然,有些语言收到消息后会向应用程序抛出个异常)。 求大虾检查或修改,画图程序出不来图形 求助一个问题 关于jvm内存设置的 谢谢 很急。。真的急。。 求求你们进来拿分~~ 我很奇怪这是什么病毒??? xml问题 无分发问(有分必还):java图形问题: 一个方法中一旦抛出了一个异常,是不是该方法中下面的代码就不再执行了?(有代码) BufferedReader 困惑java classpath指定.zip文件无效,怎么办 关于java编程思想,难以理解的词汇. 在jbuilder中项目的类 互相调用怎么样实现
在建立连接的时候,socket有一个linger选项,如果这个选项被某一方置为“设置”状态,在调用关闭网络连接方法的时候,OS会将socket粗暴的关闭,而不管发出的数据包的ack是否已经回来,也就是说,不管对方是否已经接收到这个数据包,网络连接都会直接断开,所有相关资源也会立即被释放。
如果linger没有“设置”,除了出现异常外,一般不会丢包。一般来讲,如果只是建立了一个“很普通的”连接,既使你调用的关闭连接的方法(甚至程序进程直接退出),在对方接收到数据包之前,链路也不会被OS彻底中断掉。此时,这个连接一般会处于类似于“TIME_WAIT”的状态一段时间。
所幸,OS在实现TCP协议的时候,都有丢包重传的机制。但是这不是万能的,如果重传了N次都失败的话(N视不同的OS而不同),OS就会告诉应用程序失败(使用同步方式工作的话,一般体现为方法调用失败或异常;使用一步的方式工作的话,一般会触发一个消息,当然,有些语言收到消息后会向应用程序抛出个异常)。