使用 socket API 开发通信程序中的客户端程序和服务器程序时,各需要哪些不同函数

2024-12-22 17:33:50
推荐回答(1个)
回答1:

*addr实际指向的是一个sockaddr_in的结构体,这个结构体如下
struct sockaddr_in{
short sin_family;
unsigned short sin_port;
struct in_addr sin_addr;
char sin_zero[8];
};
sin_family是指选取可用网络的类型
sin_port,这个指端口,在bind中就是服务器要把自己的哪个端口开放用于接收数据,在connect中就是指出客户端要连接服务器的哪个端口,用于通讯。
sin_addr就是IP地址,bind的时候,这个就是包含本机的IP地址一个结构体,connect的时候就是包含服务器的IP地址一种结构体
其中ip地址就是sin_addr.S_un.S_addr。其它参数没用到。
最后一个参数我没用过,不知道什么意思。
如服务器绑定前的参考设定
addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
addrSrv.sin_family=AF_INET;
addrSrv.sin_port=htons(6100);