void k(int, int) {/*dosomething*/ }
void k(int, int, float) {}
int main()
{
int k;
// all of these are now ambiguous
k(1, 1);
k(1, 2, 0.4);
k = 5;
}
accept方法接收一个listen fd套接字并返回一个conn fd。当然他们是不同的。但两个插座有相同的端口,为什么它们不同?
int accept(int socket, struct sockaddr *restrict address,socklen_t *restrict address_len);
方法监听连接,如果tcp 3方式握手完成,则套接字变为可接受。在listen
?
答案 0 :(得分:7)
但两个插座有相同的端口,为什么它们不同?
因为否则您可能永远不会有多个同时发生的客户端。接受的套接字还有一个对等的IP地址和端口,监听套接字没有。
在接受期间,侦听套接字如何传输tcp连接新的conn fd套接字?
它没有“转移”任何东西。 accept()
创建一个包含连接详细信息的新套接字。