Python3编写udp通信(多线程)
1、udp是网络通信的一种,其最终是通过调用程序中的socket库实现的.
为了实现多线程,也就是能够完成收和发两种工作,需要引入threading库.

2、调用主函数:
先要在Python3中调用主函数.
这里只是风格问题.也是一种习惯吧.

3、编写主函数:
如下图
31行,首先调用库创建套接字 udp_socket
34行,很重要,这里是绑定端口号,前面""里没有东西,主要是软件自己获取ip.
如果不绑定,端口号每次发送信息都会由程序自由分配,导致随机变化.
37行,38行,是输入对方的端口和ip.
41行,42行,是创建线程.这里创建了两个线程,
一个线程叫做t1,它主要运行"recv_msg()",接收函数,这个函数要传入的参数是udp_socket
另一个线程叫做t2,它主要运行"send_msg()",发送函数,这个函数要传入的参数是udp_socket,dest_ip,dest_port
44行,45行,是开启两个线程
47行,48行,很重要,如果没有这个就会导致:你还没有输出要发送的信息时(从键盘输入数据需要用到input函数,它不能被打断),程序就会跳转运行到接收函数里面.从而打断了你的输入.

4、编写接收函数:
接收函数中要注意的是需要格式转化,这里转换的是gbk,
因为window编码是gbk模式.

5、编写发送函数:
这里也要编码成gbk,然后再调用库函数发送出去.
还有一点,这里和Python2不同.
比如要发送:"haha"字符串,需要先把"haha"转换一下.
haha=b"haha" 然后再发送出去.

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:100
阅读量:189
阅读量:22
阅读量:121
阅读量:34