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参数

参考地址

最新文章

  1. Android JNI总结
  2. Linux网络编程系列-TCP编程实例
  3. 精通javascript(看书笔记)
  4. 数据传输:JSON,XML
  5. 黑马程序员——JAVA基础之简述集合collection
  6. Python刷票小脚本——网络人气奖?不好意思,我要了
  7. SQL中Merge的用法
  8. VB与报表的交互
  9. Potato(邪恶土豆)–windows全版本猥琐提权
  10. c# 浮点数计算问题
  11. Spring Cloud Alibaba基础教程:Nacos的数据持久化
  12. Haskell语言学习笔记(93)Data.Text
  13. 高性能Mysql笔记 — 索引
  14. linux-grep-tail-find
  15. Android 开发工具方法整理
  16. Ubuntu java install & config
  17. Redis AOF文件
  18. 4、Android-数据存储方案(使用LitePal操作数据库)
  19. CF540 D 概率 DP
  20. Java进阶SQL函数、网页定时刷新与自定义JSTL函数

热门文章

  1. centos 服务器操作
  2. SAP保存操作记录CDHDR和CDPOS表
  3. Sprint第二个冲刺(第三天)
  4. html5之我見
  5. Win 環境構建調試用TreeWalker
  6. ZOJ 1090 The Circumference of the Circle
  7. 转:【Spring MVC Controller单例陷阱】
  8. 使用move_base导航 ---13
  9. leetcode 38 Count and Say ---java
  10. 《Java程序设计》第4周学习总结