正确的 send & recv 行为
来源:互联网 发布:js一维组转二维 编辑:程序博客网 时间:2024/05/15 04:36
在实现socket类时,
1) 最好把设置block, nonblock等函数作为内部接口, 不向外开放
2) 当指定发送/接受时间时, 正确/典型的编码过程是:
a) 确保设置为nonblock模式
b) 异步发送;当未发送完全是循环发送;当发送出错(EWOULDBLOCK, ENOBUF)时, select注册FD_WRITE事件, select返回时判断返回值确定是否可发送或者已经出错或者超时
c) 发送结束时, 恢复nonblock之前的状态
接受也是如此操作。
对于另外两种错误, 似乎也需要做如上处理: EINTR, EAGAIN
3) socket只向外提供发送接受操作的接口
------------------------------------------done-----------------------------------------------------------
- 正确的 send & recv 行为
- send/recv的超时模拟
- SOCKET的send recv流程
- send和recv的flags
- Socket的Send,Recv的长度问题
- Socket 的 Send Recv 的长度问题
- Socket的Send,Recv的长度问题
- Socket的Send,Recv的长度问题
- Socket的Send,Recv的长度问题
- Socket的Send,Recv的长度问题
- Socket的send()与recv()函数
- 阻塞模式下的send、recv、close
- 关于recv()和send()的返回值
- hook socket send recv的代码(zz)
- 改写你的recv和send函数
- socket的send和recv函数详解
- send()函数的理解和recv()函数
- recv和send的真正作用
- java learn plan(一)
- 使用Editplus编译C++
- 2010-08-01
- openldap programming
- C#编程中的66个好习惯,你有多少个?
- 正确的 send & recv 行为
- gcc g++简介
- jQuery实现首页图片淡入淡出效果
- Ports安装软件的一些小细节
- gcc与g++的区别
- XMLDocument转为String
- C#编程中的66个好习惯,你有多少个?
- 【实验】【PROCEDURE】一个最简单的oracle存储过程"proc_helloworld"【转】
- 项目完成后