gpt4 book ai didi

c++ - 为 TCPClient 连接选择特定的以太网设备

转载 作者:太空宇宙 更新时间:2023-11-04 01:12:04 24 4
gpt4 key购买 nike

我目前正在使用套接字编程,但在具有多个以太网设备的计算机上测试代码时,我无法连接到我的设备。

我如何定义它应该使用哪个以太网设备 (Mac OS X)?

来源:

int sock, bytes_recieved;  
char send_data[1024],recv_data[1024];
struct hostent *host;
struct sockaddr_in server_addr;

host = gethostbyname("192.168.100.4");

cout << "Start" << endl;

if ((sock = socket(AF_INET, SOCK_STREAM, 0)) == -1) {
// perror("Socket");
cout << "Socket error" << endl;
exit(1);
}

server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(30002);
server_addr.sin_addr = *((struct in_addr *)host->h_addr);
bzero(&(server_addr.sin_zero),8);

if (connect(sock, (struct sockaddr *)&server_addr,
sizeof(struct sockaddr)) == -1)
{
// perror("Connect");
cout << "Connect error" << endl;
exit(1);
}

提前致谢。

最佳答案

您可以使用 bind 指定监听地址功能。

地址 0.0.0.0 用于监听属于计算机的所有接口(interface)和 IP 地址,或者您可以指定要监听的特定 IP 地址,这将仅选择该地址所属的接口(interface)

编辑:MSDN页面底部的示例更容易理解

关于c++ - 为 TCPClient 连接选择特定的以太网设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10371819/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com