ECS服务器为server2012,已经针对通信端口做了入站与出站规则设置
服务端代码:
{
ZeroMemory((char *)&ServerAddress, sizeof(ServerAddress));
ServerAddress.sin_family = AF_INET;
// 这里可以绑定任何可用的IP地址,或者绑定一个指定的IP地址
InetPton(AF_INET, _T("172.19.32.179"), &ServerAddress.sin_addr); //替代inet_addr
ServerAddress.sin_port = htons(m_nPort);
bind(m_Socket, (struct sockaddr *) &ServerAddress, sizeof(ServerAddress));
}
绑定是成功的,
客户端代码:
{
m_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (INVALID_SOCKET == m_socket)
{
return false;
}
ZeroMemory((LPTCH )&target_addr, sizeof(target_addr));
target_addr.sin_family = AF_INET;
InetPton(AF_INET, _T("服务器外网IP"), &target_addr.sin_addr); //替代inet_addr
target_addr.sin_port = htons(targetPort);
int connected = connect(m_socket, (const sockaddr*)&target_addr, sizeof(target_addr));
if (-1 != connected)
{
return true; // 连接成功
}
}
connect执行一段时间后返回-1,GetLastError()=0x27e4
查询错误代码,得到:“由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。 ”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。