//serv_addr.sin_addr.s_addr=inet_addr("127.0.0.1"); serv_addr.sin_addr.s_addr=inet_addr("118.89.xxx.xxx"); serv_addr.sin_port=htons(1235); connect(sock,(struct sockaddr*)&serv_addr,sizeof(serv_addr));
为什么设为 127.0.0.1 在本地能够成功运行,但是改为服务器 ip 地址后,将 server 部分程序放在(腾讯云)服务器上面运行 client 一直连接不上呢?服务器能够 ping 通,安全组设置为全部开放,然后防火墙也是关闭的,系统为 ubuntu server ,本地试了虚拟机 ubuntu 内、和 Windows Subsystem for Linux 都行, client 运行在虚拟机 ubuntu 和 Windows Subsystem for Linux 均无法连接上服务器,为什么呢?
1
cnta OP |
2
wevsty 2017-03-23 21:29:03 +08:00 1
有些云外网 IP 是在外网网关上的,所以 Server 直接 Bind 外网 IP 是不行的。
Bind 0.0.0.0 应该就可以了。 |
3
akira 2017-03-23 21:33:27 +08:00
telnet 服务器对应端口是否能链接
|