簡體   English   中英

在不同的計算機系統中使用python進行TCP套接字編程

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM