[英]TCP socket programming using python in different computer systems
我試圖在不同的系統中使用Python運行TCP客戶端和服務器套接字程序(系統A = windows7(python2.7)和系統B = windows10(python 3.6))。 服務器程序正在系統B中運行,但是在系統A中執行客戶機時,它(客戶機prg)在顯示消息幾秒鍾后終止:
錯誤10060 ::連接失敗,因為一段時間后連接方未正確響應,或者由於連接的主機未能響應而建立的連接失敗
從小寫到大寫的CLIENT程序
from socket import *
import socket
clientSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
clientSocket.connect(('192.168.43.130',9067))
sentence = input('Input lowercase sentence:')
clientSocket.send(sentence.encode())
modifiedSentence = clientSocket.recv(1024).decode()
print ('From Server:', modifiedSentence)
clientSocket.close()
服務器程序從小寫到大寫
from socket import *
import socket
serverSocket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
serverSocket.bind(('',9067))
serverSocket.listen(1)
print ('The server is ready to receive')
while 1:
connectionSocket, addr = serverSocket.accept()
sentence = connectionSocket.recv(1024).decode()
print("String from client-->",sentence)
capitalizedSentence = sentence.upper()
print("String in server-->",capitalizedSentence)
connectionSocket.send(capitalizedSentence.encode())
print("-------------------------")
connectionSocket.close()
TCP是一種流協議,您不能假設您從接收端以相同的“塊”形式發送了字節。 您需要確定一個框架解決方案。 通常使用的方法是使用約定的終止符(例如\\ 0或換行符),或者首先發送消息的長度,然后緊跟消息有效負載的確切字節數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.