抄自http://www.zackzod.me/2012/10/24/socket-options-in-erlang-otp.html

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选项。和系统的设置有关联。

erlang otp中的socket参数设置的更多相关文章

  1. Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数

    Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数 7.4.4  为外部参数设置默认值 开发者也可以对外部参数设置默认值.这时,调用的时候,也可以省略参数传递本文选自Swift1 ...

  2. 用WIN7系统IIS的提示:数据库连接出错,请检查Conn.asp文件中的数据库参数设置

    我用科讯的从4.0开始,去年开始很少用科讯做新站了,今天拿来做一下,结果悲剧了,数据库路径老是不对,百度一番又一番的,,最后终于给度娘解决了.分享出来给遇到同样的问题的人. 用WIN7系统IIS的注意 ...

  3. matplotlib 中的一些参数设置

    首先:在pycharm 中要使图显示出来,最后一定要加上 plt.show(),如: plt.bar(x, y) plt.show() 下面就是我使用 matplotlib  遇到的一些常用参数设置: ...

  4. 关于opcache中opcache.revalidate_freq参数设置测试报告

    1.测试目的: 测试出opcache中,opcache.revalidate_freq这个参数最适合的大小 说明:如果opcache.revalidate_freq参数越大,服务器单位时间能接收的请求 ...

  5. JDBC与Hibernate中SQL语句参数设置的顺序问题

    JDBC中:设置从1开始 例: Connection con = DriverManager.getConnection("jdbc:mysql://localhost/...", ...

  6. Mysql : L闪存卡linux中的内核参数设置

    将 Nytro WarpDrive 加速卡配置为文件系统 本节说明的操作使您可调整 Nytro WarpDrive 加速卡,增强使用 Oracle Linux with Unbreakable Ent ...

  7. 02_02Session中Config的参数设置

    import tensorflow as tfimport numpy as np # todo 学习 Session中的参数Config=tf.ConfigProto()的使用.重点是GPU相关的参 ...

  8. js中setTimeout()时间参数设置为0的探讨

    起因源于一道前端笔试题: var fuc = [1,2,3]; for(var i in fuc){ setTimeout(function(){console.log(fuc[i])},0); co ...

  9. vins-mono中的imu参数设置

    na:加速度计的测量噪声 nw:陀螺仪的测量噪声 nba: randow walk noise随机游走噪声 nbw:randow walk noise随机游走噪声 ba:加速度计的偏差 bw:陀螺仪的 ...

随机推荐

  1. 20145221 《Java程序设计》第五周学习总结

    20145221 <Java程序设计>第五周学习总结 教材学习内容总结 第八章部分 - 异常处理 语法与继承架构 使用try...catch 首先要明确一点:Java中所有错误都会打包为对 ...

  2. 从0开始学习 GITHUB 系列之「初识 GITHUB」【转】

    本文转载自:http://stormzhang.com/github/2016/05/25/learn-github-from-zero1/ 版权声明:本文为 stormzhang 原创文章,可以随意 ...

  3. 欧几里德和扩展欧几里德详解 以及例题CodeForces 7C

    欧几里德定理: 对于整数a,b来说,gcd(a, b)==gcd(b, a%b)==d(a与b的最大公约数),又称为辗转相除法 证明: 因为a是d的倍数,b是d的倍数:所以a%d==0:b%d==0: ...

  4. omnibus gitlab-ce安装

    架构 关闭防火墙 [root@gitlab ~]# systemctl stop firewalld [root@gitlab ~]# systemctl disable firewalld 关闭SE ...

  5. 2015-9-13 NOIP模拟赛 by hzwer

    好老的题了,但是还是很有做头的. 总结 不吸氧看来确实是没法用stl的啊(set常数太大了,开O2也没过) SPFA没认真学,觉得有堆优化Dijkstra就天下无敌了,今天负边权教我做人 于是苦逼的只 ...

  6. BZOJ 1951 【SDOI2010】 古代猪文

    题目链接:古代猪文 好久没写博客了,这次就先写一篇吧…… 题面好鬼……概括起来就是:给出\(N,G(\leqslant 10^9)\),求:\[G^{\sum_{d|n}\binom{n}{d}} \ ...

  7. 使用属性动画 — Property Animation

    属性动画,就是通过控制对象中的属性值产生的动画.属性动画是目前最高级的2D动画系统. 在API Level 11中添加.Property Animation号称能控制一切对象的动画,包括可见的和不可见 ...

  8. JavaScript权威指南--正则表达式

    知识要点 正则表达式,是一个描述字符模式的对象.javascript的RegExp类表示正则表达式,String和RegExp都定义了方法,后者使用正则表达式进行强大的模式匹配和文本检索与替换功能. ...

  9. css输入框的圆角

    转载:http://jingyan.baidu.com/article/73c3ce28f0b38fe50343d926.html 1.原理是四张圆角的图片放在四个角上,就是圆角矩形的四个角,但这种方 ...

  10. git 设置 代理服务器

    git config --global http.proxy http://proxyuser:proxypwd@proxy.server.com:8080 git config --global h ...