关于Linux 网络编程bind()和connect()的理解
- band()绑定的是什么
- connect()连接的是什么
band()绑定的是什么
band()绑定的是自己本机的ip和端口
1、采用TCP通信时,客户端不需要bind()他自己的IP和端口号,而服务器必须要bind()自己本机的IP和端口号;
2、若采用UDP通信时(这里是有客户端和服务器之分才这么说的,若是指定特定端口的UDP对等通信则不一样了),客户端也可以不需要bind()他自己的IP和端口号,而服务器需要bind自己IP地址和端口号;
connect()连接的是什么
connect()连接的是远端的ip和端口
connect通常用来连接远端的服务器,所以struct sockaddr 应该填充对端IP地址,若connect又未指定,那么绑定操作只好通过套接字的写操作(sendto、sendmsg)来指定目的地址、端口。