1. 好处在于,这个结构体可以在第四个成员中填充0,使之与scokaddr结构体一样大小,这样就可以完成两种结构体的类型的转换。
2. 下一步就是将这个结构体清空,然后在里面填充重要的网络信息,有域,端口和ip地址,端口和ip地址需要使用函数进行转化,比如:端口需要使用htons()将端口的字节顺序转化为网络的字节顺序(大端存储),因为主机的字节顺序有时候大端有时候小端,然后还有一个inet_addr()函数,使用这个函数,将例如192.168.1.1这样的字符串ip地址转化为二进制数据给结构体,让绑定的时候能够正确辨识。
3. 接下来是监听,也就是listen(),参数为套接字的fd和设置的监听队列的长度。
4. 再就是开始循环的接收accept(),这个函数有一个特点,就是接收完了,那么这时候会返回一个新的套接字,这个新的套接字就是客户端连接请求是客户端的套接字文件描述符fd,然后旧的,也就是原来服务器创建的那个套接字还是在不断的监听和接收,新的套接字就可以通过send()和recv()函数,再新的套接字基础上进行数据的收发。