- 博客(3)
- 收藏
- 关注
原创 udp接收缓冲设置多大
先说一下保护消息边界,就是指传输协议把数据当作一条独立的消息在网上传输,接收端只能接收独立的消息。这个机制决定了udp的特性: 1. udp可以多线程对同一个fd进行发包操作,如果是tcp多线程发送,会让流乱序,接收端完全无法解析出来 2. udp接收端每次只能拿到一个包,tcp需要借助自定义包头来拆分出一个一个的包假如现在发送端发送了长度为100,200,300的3个包,接收端需要调用3...
2018-09-09 23:08:49 9566 1
原创 避免不必要的内存拷贝和清0
对于网络编程中,一般都喜欢使用memset清0和memcpy拷贝操作,举个例子:char buffer[1024];memset(buffer, 0, 1024);memcpy(buffer, proxy_hdr, IPC_HEADER_SZ);memcpy(buffer, trans_hdr, TRANMIT_HEADER_SZ);memcpy(buffer, buf, len);...
2018-09-09 21:50:57 1691
原创 把函数返回值转为异常处理机制
我们这里要使用的是#include <stdexcept>,可以参考官方文档 先举一个例子,比如调用recv的函数返回值处理:int ret = recv(fd...);if (ret > 0){}if (ret == 0){}if (ret == -1){ //EAGAIN/EWOULDBLOCK提示你的应用程序现在没有数据可读请稍后再试 if (...
2018-09-04 13:00:17 835
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人