linux高性能网络编程读书笔记之socket数据读写

数据读写分为TCP数据读写,UDP数据读写,通用数据读写
1.TCP数据读写
定义:socket是连接用户空间和内核空间,TCP和UDP是内核第一层。
解释:对于文件的read和write同样适用于socket
例子:对于TCP流数据的系统调用
1.1ssize_t recv(int sockfd,void buf,size_t len,int flags);
1.2ssize_t send(int sockfd,const void 
buf,size_t len,int flags);

参数解释:
1.3buf和len是指缓存区的位置和大小
1.3.1flags通常为0
recv成功返回实际读取到的数据的长度
注:实际读取的长度可能小于期望len,所以要多次调用recv
recv可能返回0,意味着通信对方已经关闭了连接
recv出错返回-1并设置errno

1.4send基本上同上
发送的实例代码

int  main(int argc, char *argv[])if2printf"参数是错误"//一系列之前的连接ifsizeof0printf"连接失败"elseconstchar"abc"constchar"123"strlen0strlenstrlen0return0//接收代码也是类似的//连接成功intcharmemset'\0'-10return0192.168.1.10954321192.168.1.1095432154321
上一篇:PostMan使用手册


下一篇:Codeforces 1277E 容斥原理