【发布时间】:2011-10-17 10:45:18
【问题描述】:
我看过两个例子,说明客户端套接字如何从服务器接收消息。
示例 1:
服务器代码 http://man7.org/tlpi/code/online/book/sockets/ud_ucase_sv.c.html
客户端代码 http://man7.org/tlpi/code/online/book/sockets/ud_ucase_cl.c.html
客户端程序创建一个套接字并将该套接字绑定到一个地址,以便服务器可以发送它的回复。
if (bind(sfd, (struct sockaddr *) &claddr, sizeof(struct sockaddr_un)) == -1)
errExit("bind"); // snippet from ud_ucase_cl.c
示例 2:
服务器代码 http://man7.org/tlpi/code/online/book/sockets/i6d_ucase_sv.c.html
客户端代码 http://man7.org/tlpi/code/online/book/sockets/i6d_ucase_cl.c.html
在示例 2 中,客户端代码未将其套接字与地址绑定。
问题:
客户端代码是否需要将套接字与地址绑定才能接收来自服务器的消息?
为什么在第一个示例中,我们必须将客户端套接字与地址绑定,为什么在第二个示例中不需要?
【问题讨论】:
标签: c linux ubuntu-10.04 udpclient