inet\u pton(AF\u inet、INADDR\u ANY和saiServerAddress.sin\u addr);
你不能通过
INADDR_ANY
到
inet_pton()
就像那样。它需要一个
char*
字符串,例如:
inet_pton(AF_INET, "an IP address here", &saiServerAddress.sin_addr);
顺便说一句,你不能
connect()
TCP套接字到
INADDR\u任何
(0.0.0.0)无论如何。您需要指定侦听服务器的实际IP地址。
连接(iSocket,(结构saiAddress*)&saiServerAddress,sizeof(saiServerAddress));
你不能通过
saiAddress*
到
connect()
,它应为
sockaddr*
相反,例如:
connect(iSocket, (struct sockaddr *)&saiServerAddress, sizeof(saiServerAddress));
确保
saiServerAddress
声明为
sockaddr_in
或
sockaddr_storage
(或者至少确保
saiAddress
与它们兼容)。
发送(iSocket、sVal、strlen(sVal.c\u str()),0);
你不能通过
std::string
到
send()
就像那样。它需要一个
void*
相反(您不应该使用
strlen(sVal.c_str())
使用
sVal.size()
相反),例如:
send(iSocket, sVal.c_str(), sVal.size(), 0);