socket的选项里面的{packet,0}和{packet,raw}的区别

{packet,} erlang处理2字节大端包头
{packet,} erlang处理4字节大端包头
{packet,} erlang不负责拆包,用户自己处理
{packet,raw} erlang不负责拆包,用户自己处理,和{packet,}的区别应该在于raw socket可以处理icmp之类的特殊包

粘包处理

自己处理粘包的时候,使用{active, N}(还没有到被动模式)和{active, true}选项的时候,在handle_info({tcp,Socket,Data}里面需要好好处理下粘包,
具体可以看下面的例子
https://github.com/kqqsysu/ssdb-erlang/blob/master/src/ssdb_conn.erl

关于在被动模式下以recv方式收包

如果是{packet,}或者{packet, raw},需要指定recv的大小,否则会全部收取
如果是{packet,x},x为124,则recv直接传0参数

参考地址

再看erlang的socket部分基础的更多相关文章

  1. python基础----再看property、描述符(__get__,__set__,__delete__)

    一.再看property                                                                          一个静态属性property ...

  2. 【转】Java Socket编程基础及深入讲解

    原文:https://www.cnblogs.com/yiwangzhibujian/p/7107785.html#q2.3.3 Socket是Java网络编程的基础,了解还是有好处的, 这篇文章主要 ...

  3. 【Socket】Java Socket编程基础及深入讲解

    Socket是Java网络编程的基础,了解还是有好处的, 这篇文章主要讲解Socket的基础编程.Socket用在哪呢,主要用在进程间,网络间通信.本篇比较长,特别做了个目录: 一.Socket通信基 ...

  4. erlang的Socket参数含义

    http://blog.csdn.net/pkutao/article/details/8572216 {ok, Listen} = gen_tcp:listen(?defPort, [binary, ...

  5. Android菜鸟的成长笔记(17)—— 再看Android中的Unbounded Service

    原文:Android菜鸟的成长笔记(17)-- 再看Android中的Unbounded Service 前面已经写过关于startService(Unbounded Service)的一篇文章:&l ...

  6. 网络编程一定要看过的socket大山

    python已经可以做很多的东西了.但是要想要和别人互联互通就会涉及到一个关键的模块socket!值得一提的是,其实socket不是python独创的一种模块,而是任何语言都会有的一个部分!自己的程序 ...

  7. 再看Ajax

    再回顾Ajax相关的内容,再次梳理学习还是很有必要的,尤其是实际的开发中,ajax更是必不可少,仔细学习以便避免不必要的错误. 文章导读: --1.使用XMLHttpRequest---------- ...

  8. 再看ftp上传文件

    前言 去年在项目中用到ftp上传文件,用FtpWebRequest和FtpWebResponse封装一个帮助类,这个在网上能找到很多,前台使用Uploadify控件,然后在服务器上搭建Ftp服务器,在 ...

  9. 再看 AspriseOCR - OCR应用开发 -20151124

    再看 AspriseOCR - OCR应用开发 我写这个博文时间为 2015/11/24日,注意时间因为,网上很多文章时间上很久远,有的已经不能参考了 很多人面对从图片中识别文字或者数字0~9  A~ ...

随机推荐

  1. discuz使用

    1.discuz登陆错误过多,后台删除ip SELECT * FROM `lang_common_admincp_session` 2.Discuz与UCenter通信失败的解决方法 应用与 UCen ...

  2. SpringMVC List绑定

    需求:成绩录入(录入多门课成绩,批量提交) 使用List接收页面提交的批量数据,通过包装pojo接收,在包装pojo中定义list<pojo>属性 public class ItemsQu ...

  3. Android SDK Manager Google Apis 下载

    本意是想利用google的gcm来实装android推送功能的,很遗憾, google貌似已经停止提供啥服务给国内了,或者说国内想继续使用google 服务暂时变得几乎不可能了.找了个代理来进行goo ...

  4. alias sample method——运行时间复杂度为O(1)的抽样算法

    根据离散离散概率分布抽样是一个常见的问题.这篇文章将介绍运行时间复杂度为O(1)的 alias method 抽样算法思想. 下面举例说明: 比如 a,b,c,d 的概率分别为 0.1,0.2,0.3 ...

  5. 改造dede 后台会员目录

    可以在后台目录(默认 dede),里面的inc->inc_menu.php 文件里进行添加或更改,实现功能!

  6. c3p0操作MySQL数据库

    使用c3p0连接MySQL数据库并对MySQL数据库进行基本操作.     1. [文件] 数据库准备 ~ 226B     下载(64) ? 1 2 3 4 5 6 7 8 9 10 ##创建数据库 ...

  7. javascript输出图的简单路径

    <script> //图的构建 function vnode() { this.visited=0; this.vertex=0; this.arcs=new Array(); } fun ...

  8. 使用Animation实现摄像机动画

    项目剧情模块分给了我做,其中很重要的一个功能就是摄像机旋转平移等操作,本来打算使用Camera Path这个插件制作的,但是鉴于项目Unity版本还停留在4.3,低于插件要求版本,另外编辑器做出来是交 ...

  9. BEA-WEBLOGIC ---http://www.beansoft.biz/weblogic/docs92/index.html

    WebLogic Home      英文对照      发行信息 站点地图 Installation Guide 新增功能 已知和已解决的问题 Upgrade Guide Installing Ma ...

  10. pouchdb 安装使用

    1. 安装: If you are on a Debian flavor of Linux (Ubuntu, Mint, etc.), you can install CouchDB with: $ ...