sockfd=socket(AF_INET, SOCK_STREAM,0)
在调用socket()函数时生成一个socket文件描符,此时并未分配ip和端口,对于客户端来说在connect()以后
才固定ip和端口,此时可以调用getsockname()来获得客户端自己的ip和端口号。
而服务器端调用socket()时一样,当服务器调用bind()时绑定了服务器要监听的ip和端口号,之后对这对ip和
端口进行监听listen(),当有客户端请求连接(connect())时,服务器调用accept()接受客户端连接请求,就在
此时又分配了ip和端口用于服务器与客户端进行通信,每调用一次accept()就分配一对ip和端口用于通信,而
之前的监听描述符(用的ip和端口)一直用于监听使用,服务器可以调用getpeername()获得客户端的ip和
端口号
以上是在做客户端与客户端直接通信时所了解到的
阅读(13662) | 评论(0) | 转发(0) |