linux内socket服务器无法连接windows

时间:2023-12-18 08:31:50

今天在试socket的时候出现了一个问题:问题概述是这样的:

1.linux采用centOS7(mini)版本,虚拟机版本VMware12,网卡设置NAT

2.服务器和客户端都在windows上,通讯正常

3.服务器和客户端都在linux上,通讯正常

4.服务器在linux上,客户端在windows上,通讯失败,错误提示:

TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。

解决思路:

1.在windows和linux互相ping对方ip,连接正常。

2.先用secureCRT连了虚拟机,ssh客户端工作正常,说明linux和windows组网是成功的。

3开启windows功能中的telnet客户端后,在cmd内ping linux的端口号,连接失败。说明ip是通的,但端口无法连接。

4.第3条的原因是linux的防火墙工作导致,关掉防火墙

centOS7内的防火墙关闭方法

查看状态:systemctl status firewalld

启动: systemctl start firewalld

关闭: systemctl stop firewalld

查看状态: systemctl status firewalld

开机禁用 : systemctl disable firewalld

开机启用 : systemctl enable firewalld

[root@localhost ~]# systemctl stop firewalld

重新在cmd内

C:\Users\Aaron>telnet 190.168.75.130 9999

回车,成功。

可以把防火墙关闭,也可以对防火墙开放一个固定的端口,使用时会比较安全。