#编写一个有2个线程的程序
#线程1用来接收数据然后显示
#线程2用来检测键盘数据然后通过udp发送数据
import socket
import threading
#发送信息
def sendmsg(udp_socket,ip,post):
while True:
msg = input("\n请输入:")
udp_socket.sendto(msg.encode(),(ip,post))
#接收信息
def recvmsg(udp_socket):
while True:
recvmsg,recvip = udp_socket.recvfrom(1024)
print(">>>%s:%s"%(str(recvip),recvmsg.decode()))
def main():
#创建套接字
udp_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
#绑定本地ip和端口
udp_socket.bind(("",7890))
#子线程接收信息,传入套接字
t = threading.Thread(target=recvmsg,args=(udp_socket,))
t.start()
# 输入对方ip
ip = input("\n输入对方ip:")
# 输入对方端口
post = int(input("\n输入对方端口:"))
#主线程发送信息,传入套接字
sendmsg(udp_socket,ip,post)
if __name__ == '__main__':
main()
多线程udp
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 网络编程概述 就是用来实现网络互连的不同计算机上运行的程序间可以进行数据交换。 有人说,20世纪最伟大的发明不是计...
- 一、线程介绍 1.1、线程,有时被称为轻量进程(Lightweight Process,LWP),是程序执行流的最...
- 跟东哥在一起已经快四年了,毕业之后他选择留下三亚打拼,我则选择回到家乡。因为2000公里的距离,一直都是聚少离多。...