socket.close()执行之后 之前用的那个端口会自己释放掉吗 是马上释放还是过断时间自己释放?还有个问题udp传数据报的时候每个packet有大小限制的 那tcp 字节流方式传送的 应该没有的吧?
解决方案 »
- 初学java
- ObjectOutputStream StreamCorruptedException
- 关于java中使用正则表达式的问题
- jdbc与存储过程问题
- jfilechooser做保存对话框的问题
- 文件的随机访问的菜鸟级问题!
- 菜鸟提问(请忽笑):谁能清楚的解释一下接口
- select seq_aa.nextval from dual;我在jdbc里如何把该直取回并变成long型?
- 菜鸟问:下载了jdk1.4.2,那个java web strat 是干啥用的。swingset2 app...是干啥用的
- entitybean调用错误
- Socket通讯,但是调试的过程接收不到内容。
- 输入一个数,实现判断它是否为水仙花数
有两个SO_OPTION会影响socket.close()的行为,如果设置SO_LINGER为大于0的值,那么socket.close()不会立即返回,而是等当前buff的数据全部发生完毕或超时才会返回。
如果过设置SO_REUSEADDR,那么socket.close()之后,即使端口没有释放,也可以允许其他程序立即bind到此端口。2. 由于UDP的每个数据包可能来自于不同的地方,所以UDP每次receive总是一个完整的数据包,UDP的报文大小最大为65507;而TCP的数据被看作一个连续不断的字节流,所以不会有大小限制,但是设置合适的SO_RCVBUF和SO_SNDBUF到时会对性能有所影响。