【无标题】Python利用多线程实现互通

本文介绍了如何使用Python和UDP协议在服务端和客户端之间实现双向通信,通过创建两个独立的线程分别处理发送和接收,使得双方可以同时进行消息交互。作者通过实例展示了如何在服务端和客户端代码中实现这一功能。
摘要由CSDN通过智能技术生成

我在上一篇文章利用python来实现UDP服务端持续接收信息和客户端持续发送消息。但是只能一方发送一方接受,就和发邮件似的。那么如何实现两方自由通信,就像聊天一样呢?\n\n试想,我们在原本只能接受消息的服务端,加入一个发送消息程序,在原本只能发送消息的客户端加入一个接受消息的程序。那是不是两边就都可以收消息和发消息了。

那同样有一个问题,就是我们的程序是从上往下执行,而我要同时能够发消息和接收消息。显然按往常来是不行的。这时,我们想到了,线程。我们可以建立两个线程分别来发消息和接受消息。两个线程互不干扰,不就能实现同时接和收了了吗。

我们要先定义两个方法,一个接收,一个发送

5ef3f54010894b9280f51fc4b1fa9015.png

 

我这里使用我直接电脑的地址,并没和另外,所以地址都是本机。但是端口号要有两个,客户端一个,服务端一个。

作为主程序

666c0a5a60c5428483ef0bd7621e5212.png

 建立两个线程,利用start和join,互不干扰,进行。

效果fe54dcdeda2a42d89dd722d9afd0a9ed.png

 f8d43a8b408b4b4abd45e1a7e455704a.png

 显然实现了互通

835d42a5bb7c402b8c68da5b3f98c778.png

6de749e86d0d4b759fef301ae53f110e.png 

 这个时候,服务端和客户端的代码几乎一模一样了,所以两者没有明显的区分。

(如有错误,还请见谅)

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值