【发布时间】:2013-09-24 00:33:55
【问题描述】:
对于我的一个课程,我必须编写一个服务器和一个客户端,并且我们得到了一些示例代码可以使用。这是我感到困惑的sn-p:
main()
{
int sock, sock_current, cc, fromlen, tolen; /*sd is the socket */
int addrlen;
struct sockaddr_in sin;
struct sockaddr_in pin;
/* get an internet domain socket */
if ((sock = socket(AF_INET, SOCK_STREAM, 0)) == -1) {
perror("socket");
exit(1);
}
/* complete the socket structure */
memset(&sin, 0, sizeof(sin));
sin.sin_family = AF_INET;
sin.sin_addr.s_addr = INADDR_ANY;
sin.sin_port = htons(PORT);
/* bind the socket to the port number */
if (bind(sock, (struct sockaddr *) &sin, sizeof(sin)) == -1) {
perror("bind");
exit(1);
}
我认为 sockaddr_in 结构体 sin 的目的是存储一个本地 IP 地址,以便在绑定时与 sock 关联。我对此是否正确?如果我是正确的,这个 sn-p 代码是如何实现的?没看懂:
/* complete the socket structure */
memset(&sin, 0, sizeof(sin));
sin.sin_family = AF_INET;
sin.sin_addr.s_addr = INADDR_ANY;
sin.sin_port = htons(PORT);
【问题讨论】:
-
你在纠结哪一点?
标签: c sockets client-server