我正在以客戶-服務器的方式運行 2 臺虛擬機。
一個虛擬機是Windows[客戶端],另一個虛擬機是CentOS[服務器]。
我寫了一個程式[python]來在它們之間建立TCP連接。
當我在同一臺機器上運行客戶端和服務器代碼時[服務器為localhost],腳本作業正常,我可以看到TCP連接正在建立。但是當我單獨運行腳本時[客戶端腳本在 Windows 上,服務器腳本在 CentOS 上],TCP 連接沒有建立。
然而,兩個虛擬機都可以相互連接。
我是否有什么遺漏?
以下是客戶端的腳本。當我將服務器名稱從 "本地主機 "改為服務器 IP 時,沒有建立連接。
# Client Side Script。
from socket import *
server_name = 'localhost' #DOES NOT WORK WHEN REPLACED WITH SERVER IP7000
client_socket = socket(AF_INET, SOCK_STREAM)
client_socket.connect((server_name,server_port))
while True:
sentence = input(">> ")
client_socket.send(sentence.encode())
message = client_socket.recv(2048)
print (">> ", message.decode()
if(句子 == 'q')。
client_socket.close()
以下是我的CentOS服務器上的防火墻組態檔。如果有幫助的話:
user#sudo firewall-cmd --list-all
公共的(活動的)。
目標:默認
icmp-block-inversion: no
介面: ens160
源。
服務: dhcpv6-client http https ssh
埠。1234(change)/tcp
協議。
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
豐富的規則。
uj5u.com熱心網友回復:
下面的作業。謝謝你的意見。我按照https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-using-firewalld-on-centos-7
sudo firewall-cmd --zone=public --permanent --add-port=5000/tcp
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/311830.html
標籤:
下一篇:選擇系統呼叫
