今天在試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
回車,成功。
可以把防火牆關閉,也可以對防火牆開放一個固定的端口,使用時會比較安全。