Java_socket通信基础补充
来源:互联网 发布:淘宝香水嗅觉系真假 编辑:程序博客网 时间:2024/06/06 00:50
java socket通信基础补充
1、setReuseAddress(true|false),该参数设置为true,允许将多个socket绑定到同一个端口上,通过getReuseAddress()方法获取当前值即可,但是在发生Socket.bind()之前必须先设置才会生效。这个参数很少回去考虑使用。
2、setTcpNoDelay(true|false),该参数默认为false,会启用Nagle算法。启用这个算法是为了避免网络阻塞:当socket交互双方存在大量的小数据交互时,它会将较小的包延迟发送,若200ms内有多次小数据发送,则会合并在一起发送,若数据达到一定的范围,也会立即发送。
3、setSoLinger(true|false, int linger),该参数决定socket关闭时是否尝试继续发送Kernel缓冲区中还未发送出去的数据,若设置为true,则由第二个int类型的参数决定发送kernel缓冲区中还未发送的内容最长的等待时间,单位为秒,通过getSoLinger()可以获取到设置的值。
4、setSendBufferSize(int),设置发送缓冲区的大小,默认值为8192字节,通过getSendBufferSize()得到当前值,一般保持默认就OK.
5、setReceiveBufferSize(int),设置发送缓冲区的大小,默认值为8192字节,通过getReceiveBufferSize()得到当前值,一般保持默认就OK.
6、setKeepAlive(true|false),它每隔一段时间(很长一段时间,例如2小时)会将数据包发送到对方,如果对方响应,则认为连接依然存活;如果未响应,则在十多分钟后再发送一个数据包;如果还未响应,在再过十多分钟再继续发送一个数据包;如果对方还是未响应,则会将客户端的socket关闭,在某些情况下设置该参数后可以避免客户端的一些垃圾socket永远无法关闭的状况。该参数的默认值为false,可以通过getKeepAlive()获取到当前值。
7、setOOBInLine(true|false),这个参数默认为false,若开启,则允许通过socketde方法sendUrgentData(int)发送,这个API是直接发送,不会经过缓冲区。
- Java_socket通信基础补充
- Java_Socket简单通信
- java_Socket通信_聊天程序
- java_Socket通信_聊天程序
- java_Socket通信_聊天程序
- JAVA_Socket
- java_Socket
- java_Socket
- Java_socket
- 基础文章7:chap15 进程通信之管道 补充
- 基础补充
- java_socket编程
- java基础巩固训练营【第一轮】(九) 用java通信补充
- Java基础(极客)——24、Java中的HTTP通信(补充)
- TCP协议通信补充:多线程
- 补充C#基础1
- 基础补充 待续...
- c++基础补充
- 将一个链表中结点的值按奇偶拆分,使其中一个链表结点的值为偶数,另一个为奇数
- canvas学习笔记(一)——关于css设置canvas画布大小的问题
- 逻辑回归
- Appium For Android and IOS By Java
- 微信的开发之初学问题总结
- Java_socket通信基础补充
- Windows10专业版任务栏右下角按钮左键无效右键有效的问题的解决
- 芒果TV发布2017黄金IP“芒果练习生”计划
- IntelliJ IDEA 2016
- POJ1003 二分_查找/自定义zero()函数
- 操作系统之磁盘调度算法
- Linux命令之"gzip"
- 枚举,集合,动态规划(黑客的攻击,uva 11825)
- 三天上手PHP之6:字符串变量