繁体   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