python2.x和3.x为什么不兼容_Python2.x和Python3.x的跨网络兼容性

本文探讨了在Python 2.x和3.x之间进行网络通信时可能遇到的兼容性问题。作者提到在树莓派上使用Python 2.x,而个人电脑上使用Python 3.x,目标是建立两者之间的通信。提供的代码段展示了一个基于socket的网络连接类,用于发送和接收加密消息。然而,文章没有明确指出Python 2.x和3.x是否直接兼容,暗示可能需要额外的适配工作或在PC上安装Python 2.x来实现跨平台通信。
摘要由CSDN通过智能技术生成

我一直在考虑开发一个机器人使用树莓皮使用一个旧的钢筋混凝土坦克。我知道python2附带了raspberry Pi,但我在我的电脑上使用的是python3

机器人的最终目标是能够将坐标通过python传递给pi,但我不确定python的2版本是否有兼容的网络脚本。在

我想用它们的网络连接Python2和3,但我不确定它们是否兼容,或者我是否也必须在我的PC上下载Python2?在

下面是一些更改后我很可能会使用的代码,如果我能够从这个python 3脚本发送信息,a python 2脚本:import socket, Encryption, threading

class Networking():

StrName = ""

BlnCon = False

StrMsgs = []

Server = socket.socket()

StrMsgR = ""

C = Encryption.Cryption()

def ConnectTrd(self,E):

TrdNetworking = threading.Thread(target = self.Connect, args = (E.TextBoxs.TxtboxSet[2].StrMessage,int(E.TextBoxs.TxtboxSet[3].StrMessage),E.TextBoxs.TxtboxSet[4].StrMessage,E))

TrdNetworking.start()

def Connect(self, StrHost, IntPort, StrName,E):

self.StrName = StrName

self.Server.connect((StrHost, IntPort))

self.BlnCon = True

while self.BlnCon:

try:

self.RecvMsg(E)

except Exception as Error:

print(Error)

self.Server.close()

def SendMsg(self,Message,E):

if self.BlnCon:

StrMsg = Message

if StrMsg == "EXIT":

self.BlnCon = False

StrMsg = self.StrName + ": " + "EXIT"

else:

StrMsg = self.StrName + ": " + Message

try:

self.StrMsgs.append(str(self.StrName + ": " + Message))

self.Server.send(self.C.EncryptMsg(StrMsg).encode())

except Exception as Error:

print(Error)

else:

print("can't send message.")

self.WriteToTxBx(E)

def RecvMsg(self,E):

if self.BlnCon:

try:

self.StrMsgR = self.C.DecryptMsg(self.Server.recv(10240).decode())

except Exception as Error:

print(Error)

self.BlnCon = False

StrConCh = self.StrMsgR.split(":")

if StrConCh[1] == " EXIT":

StrMsg = self.StrName + ": " + "EXIT"

self.Server.send(self.C.EncryptMsg(StrMsg).encode())

self.BlnCon = False

self.StrMsgs.append(str(StrConCh[0]) + " has disconnected.")

else:

self.StrMsgs.append(self.StrMsgR)

self.WriteToTxBx(E)

def WriteToTxBx(self,E):

E.TextBoxs.TxtboxSet[0].StrMessage = ""

for IntZ in range(0,len(self.StrMsgs)):

while len(self.StrMsgs[IntZ])%55 != 0:

self.StrMsgs[IntZ] += " "

E.TextBoxs.TxtboxSet[0].StrMessage += self.StrMsgs[IntZ]

代码来自我不久前制作的一个P2P客户端,它也使用了我用Pygame制作的一个基本GUI引擎。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值