getsockname()和getpeername()
对于server端: 以端口为通配符方式bind:对于服务器,bind(0,ip),则调用bind函数之后,就可以调用getsockname获取服务器得到的本地端口号 以ip地址为通配地址bind,只有accept返回之后,调用getsockname(connfd,......)才会返回服务器得到的本地ip地址 对于client端: 由于不绑定bind,所以当connect()函数成功之后(完成三次握手),可以调用getsockname可以得到本地端口号和ip地址 getpeername(): server调用accept()之后,再调用exec,要获取客服端的套接字地址结构,只能通过调用 getpeername(connfd, ( struct sockaddr *)&peerAddr, &peerLen); 来源: https://www.cnblogs.com/kkshaq/p/4600771.html