《Linux C程序设计大全》学习笔记(一)---Linux网络编程

一、相关数据结构与函数
1、网络通信地址
struct sockaddr_in
struct sochaddr
2、子序转换
uint32_t htonl();
uint32_t ntohl();
3、地址形式转换
const char *inet_ntop();
int inet_pton();
4、获取主机信息
struct hostent *gethostent();
5、通过域名查询IP地址
int getaddrinfo();
6、面向连接数据传输的读写函数
send函数    recv函数
7、无连接数据传输的读写函数
sendto函数    recvfrom函数

二、有连接传输
1、服务器端编程步骤:                        2、客户端编程步骤:
《Linux C程序设计大全》学习笔记(一)---Linux网络编程_第1张图片
三、无连接传输
1、服务器端编程步骤:                        2、客户端编程步骤:

四、非阻塞套接字,只需调用fcntl将套接字设为O_NONBLOCK即可

五、在调用listen函数和connect函数的时候内核会自动为套接字绑定一个IP地址和端口号,所以bind函数可有可无,不过还是有区别的
《Linux C程序设计大全》学习笔记(一)---Linux网络编程_第2张图片
六、并发服务器:即处理连接和监听连接并发进行,各有自己的进程

七、使用select函数处理多个客户端的连接(程序清单24-3)

八、轮询设备状态
1、select(不支持STREAMS)
2、pselect(可屏蔽信号,其中SIGKILL不可以)
3、poll

你可能感兴趣的:(编程,c,linux,网络,struct,服务器)