1
当我创建我的UDP客户端我使用的客户端地址和端口这个准备:创建不使用本地环路接口的UDP客户端?
struct sockaddr_in caddr;
/* prepare client address structure */
caddr.sin_family = AF_INET;
caddr.sin_port = htons(0); /* ask bind for an unused port number */
caddr.sin_addr.s_addr = htonl(INADDR_ANY);
/* bind */
printf("Binding to an unused port number\n");
result = bind(s, (struct sockaddr *) &caddr, sizeof(caddr));
if (result == -1)
err_fatal("bind() failed");
namelen = sizeof(caddr);
getsockname(s, (struct sockaddr *) &caddr, &namelen);
showAddr("done. Bound to addr: ", &caddr);
这样的获取IP地址0.0.0.0和我都是用本地环路接口来联系我的服务器。
现在我想使用另一个接口并绑定到我的客户端的另一个IP地址,所以我尝试从另一个IP地址联系我的服务器,而不仅仅使用本地环路。
你能告诉我如何做到这一点?
我试图用这样的:
#define DEF "10.0.0.1"
caddr.sin_addr.s_addr = htonl(DEF);
,但我得到的错误。