-1
工作以下是爲Python 3書面連接()在Python的功能是不是在Linux中
服務器代碼的服務器和客戶端代碼:
import sys
from socket import socket, gethostbyname, AF_INET, SOCK_STREAM
PORT_NUMBER = 5060
SIZE = 1024
hostName = gethostbyname('0.0.0.0')
recvSocket = socket(AF_INET, SOCK_STREAM)
recvSocket.bind((hostName, PORT_NUMBER))
recvSocket.listen(5)
print("Listening for client...")
(conn,addr)=recvSocket.accept()
print ("Test server listening on port {0}\n".format(PORT_NUMBER))
print("Connected to client at address {0}\n".format(addr))
print("Connection is ",conn)
客戶端代碼:
import sys
from socket import socket,AF_INET,SOCK_STREAM,gethostbyname
hostname=gethostbyname('0.0.0.0')
print ("Creating")
sendsocket=socket(AF_INET,SOCK_STREAM)
print ("Connecting socket")
sendsocket.connect(('192.168.4.39',5060))
print ("connected")
data=input("Enter value")
sendsocket.sendto(data.encode('utf-8'),(SEND_IP,SEND_PORT))
現在我面臨的情況如下:
1st Scenari Ø
服務器代碼在Windows系統上運行,客戶端代碼是 一個Linux系統上運行
結果:客戶端代碼被卡住打印後「連接插座」
第二種情景
服務器代碼在Linux系統上運行,客戶端代碼在上運行Windows系統的
結果:讓輸出符合市場預期。
爲什麼會發生這種情況? connect()函數是否有任何問題或代碼有問題?
注意:服務器和客戶端系統都在同一個網絡上。 192.168.4.39是服務器代碼正在運行的IP地址。
你同時運行Windows和Linux的代碼在**相同的IP地址**?如果不是,那麼爲什麼你要在第一種情況下連接到同一臺機器? –
如果您*在相同的IP地址上運行它,則不能將相同的IP地址分配給兩個實體。 –
我不太明白你的問題,但我會給你的信息不管 服務器代碼是在IP上運行192.168.4.39 客戶端代碼是在IP上運行192.168.4.57 –