Linux网络编程函数
2024-09-04 02:37:07
1. Server端-socket/bind/listen/accept/read
socket(AF_INET, SOCK_STREAM, 0);
//指定端口,内核将端口上的数据转发给该socket
bind(listenfd, (struct sockaddr *)&servaddr, sizeof(servaddr);
//listen函数把一个未连接的套接口转换成一个被动套接口,指示内核应接受指向该套接口的连接请求
//相应套接口排队的最大连接个数,等待accept的请求
listen( listenfd,listennum);
//从listen队列中返回下一个已完成的连接(client),无则阻塞直至返回
accept(listenfd, (struct sockaddr *)&cliaddr, &clilen);
//读写socket
read(sockfd,buf,1000);
write(sockfd,buf,n);
2. Client端-socket/connect/write
socket(AF_INET, SOCK_STREAM, 0);
//3次握手,建立同server的连接
connect(clifd, (struct sockaddr *)&servaddr, sizeof(servaddr));
write(sockfd,sendbuf,strlen(sendbuf));
3. IO复用
3.1 Select指定事件发生时唤醒
int select (int maxfdp1, fd_set *readset, fd_set *writeset, fd_set *exceptionset, const struct timeval *timeout);
函数允许进程指示内核等待唤醒多个事件中的任何一个发生,并在有一个或多个时间发生或经历一段指定的时间后才唤醒它。
例如可以调用select,告知内核仅在下列情况发生时才返回:
♦集合{1,4,5}中的任何描述字准备好读,或
♦集合{2,7}中的任何描述字准备好写,或
♦集合{1,4}中的任何描述字有异常条件待处理,或
♦已经经历了指定时间。
最新文章
- 小技巧-a标签去除蓝圈
- js中的with语句
- .NET程序员爱上网站[整理]
- UVA 624 (0 1背包 + 打印路径)
- 编写一个程序实现strlen函数的功能
- _tcscat在Debug和Release根据问题
- 【Android Developers Training】 52. 打印照片
- 小解系列-自关联对象.Net MVC中 json序列化循环引用问题
- GIS之家小专栏
- Winserver-默认以管理员运行程序
- 2018-2019-2《Java程序设计》结对编程项目-四则运算 第一周 阶段性总结
- 52ABP模板 ASP.Net Core 与 Angular的开源实例项目
- 执行shell文件是,提示chmod: 更改'./shell1.sh' 的权限: 不允许的操作。
- oracle使用with as提高查询效率
- AtCoder Regular Contest 103 E Tr/ee
- mysql5.5 for linux 安装(转)
- ES6基础三(对象)
- 初级安全入门—— WEBshell与文件上传漏洞
- Redux系列02:一个炒鸡简单的react+redux例子
- 【Python】【Web.py】python web py入门-5-请求处理(下)