博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
erlang otp中的socket参数设置
阅读量:6970 次
发布时间:2019-06-27

本文共 879 字,大约阅读时间需要 2 分钟。

抄自

 

Erlang的inet模块里提供了对Socket进行一系列参数设置的接口 setopts(Socket, Options)。可设置的参数目前有28个,其中有一个在R16版本里计划去除。以下是对几个常用参数的设置做的记录。

{active, true | false | once}

默认值是true。但是由于设置为true的情况下是没有flow control的,所以一般不会使用这个默认值。false的需要每次通过代码精确指定消息数据的接收,视需要而定。通常once是比较常用的设置。

 

{delay_send, Boolean}

默认值为false。此时发送给socket的数据会立即尝试通过网络投递,若设置为true,则所有消息会在一开始就进入队列,之后才会发送。对于网络使用繁重但实时性要求没那么高的应用情景来说,设置true会节省网络的占用频度。

 

{keepalive, Boolean}

默认值为false。设置为true能对一些异常断线的情况进行检测和释放,值得需要注意的是,这个与系统的tcp_keep_alive_time相关。需要将tcp_keep_alive_time设置到一个合理的值。

 

binary

通常我们都指定以二进制的形式来处理Packet的数据。

 

{nodelay, Boolean}

即便少量数据也立即发送。视应用场景而定,一般对于游戏这种类型的应用而言,设置为true。

 

{packet, PacketType}

指定Packet的header大小或者类型,需要根据应用情况明确指定。

 

{reuseaddr, Boolean}

默认是false,一般建议开启,可以复用端口号。同样,这个和系统的设置有关联。

 

{send_timeout, Integer}{send_timeout_close, Boolean}

为timeout设定合适的值,send_timeout_close建议设置为true。

 

{tos, Integer}

设置IP_TOS参数,这个参数代表了IP包的优先级和QoS选项。和系统的设置有关联。

转载地址:http://iuasl.baihongyu.com/

你可能感兴趣的文章
hdu 4081 次小生成树
查看>>
HtmlNodeType枚举
查看>>
基于TCP的多进程echo服务器
查看>>
ASP.NET页面在IE缓存问题的解决
查看>>
最简单的Epoll模型代码
查看>>
数据结构之字符串
查看>>
blob字段存储文件并读取
查看>>
Process
查看>>
Asp.Net MVC结合ExtJs gridPanel 分页和高度自适应
查看>>
Oracle 12c JDBC 连接
查看>>
世界上超难找的药方
查看>>
C#开发微信公众平台-就这么简单(附Demo)
查看>>
C#多态;父类引用指向子类对象;new和override的区别;new、abstract、virtual、override,sealed关键字区别和使用代码示例;c#类的初始化顺序...
查看>>
NSPredicate查询日期的问题
查看>>
HDUOJ---1754 Minimum Inversion Number (单点更新之求逆序数)
查看>>
beef 安装使用
查看>>
Struts2WebUtil
查看>>
C++ 多线程编程总结
查看>>
elasticsearch配置文件详解
查看>>
c++ 怎样获取系统时间
查看>>