我正在尝试使用winsock实现点对点通信,但gethostbyaddr
总是返回NULL,这个东西只适用于本地主机,server_name是目标IP地址
server_name="<--ipaddress-->"
struct sockaddr_in server;
addr = inet_addr(server_name);
cout<<"inet_addr(server_name) "<<addr<<endl;
hp = gethostbyaddr((char *)&addr, 4, AF_INET);
memset(&server, 0, sizeof(server));
memcpy(&(server.sin_addr), hp->h_addr, hp->h_length);
server.sin_family = hp->h_addrtype;
server.sin_port = htons(port);
conn_socket = socket(AF_INET, socket_type, 0);
connect(conn_socket, (struct sockaddr*)&server, sizeof(server))
我们已经使用 python 实现了 p2p 通信,它在相同的端口号和地址上工作得非常好..感谢任何线索..
我不知道如何在 c++ 中做到这一点,在 python 中我们只使用了 bind(---) ,有人可以告诉我代码片段如何实现它。