0

在编写服务器套接字编程时是否有必要将 socketfd 绑定到 IP 地址。我的意思是可以在不调用绑定系统调用的情况下编写套接字编程吗?就像套接字 -> 监听 -> 接受 -> 读/写/ -> 关闭。

4

2 回答 2

2

套接字应该绑定到端口或 unix 套接字文件。你的意思是you don't want to define port number for listen?然后绑定端口号 0。它适用于随机端口。

memset((char *) &reader_addr, 0, sizeof(reader_addr));
reader_addr.sin_family = PF_INET;
reader_addr.sin_addr.s_addr = htonl(INADDR_ANY);
reader_addr.sin_port = 0;

if (bind(server_fd, (struct sockaddr *)&reader_addr, sizeof(reader_addr)) < 0) {
    perror("reader: bind");
    exit(1);
}
于 2013-06-25T03:52:14.240 回答
1

bind在服务器端使用。

简单地想象它是您办公室的开关板。给bind它一个电话号码,以便其他人知道要拨打什么号码。接线员listen接听电话并接通电话(即处理它)。

于 2013-06-25T03:55:47.980 回答