我在上一篇文章利用python来实现UDP服务端持续接收信息和客户端持续发送消息。但是只能一方发送一方接受,就和发邮件似的。那么如何实现两方自由通信,就像聊天一样呢?\n\n试想,我们在原本只能接受消息的服务端,加入一个发送消息程序,在原本只能发送消息的客户端加入一个接受消息的程序。那是不是两边就都可以收消息和发消息了。
那同样有一个问题,就是我们的程序是从上往下执行,而我要同时能够发消息和接收消息。显然按往常来是不行的。这时,我们想到了,线程。我们可以建立两个线程分别来发消息和接受消息。两个线程互不干扰,不就能实现同时接和收了了吗。
我们要先定义两个方法,一个接收,一个发送
我这里使用我直接电脑的地址,并没和另外,所以地址都是本机。但是端口号要有两个,客户端一个,服务端一个。
作为主程序
建立两个线程,利用start和join,互不干扰,进行。
效果
显然实现了互通
这个时候,服务端和客户端的代码几乎一模一样了,所以两者没有明显的区分。
(如有错误,还请见谅)