首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python中socket的UDP学习(3)

Python中socket的UDP学习(3)

作者头像
萌海无涯
发布2019-08-03 11:03:12
3890
发布2019-08-03 11:03:12
举报
文章被收录于专栏:萌海无涯萌海无涯萌海无涯

继续学习socket UDP的内容!

经过学习收发之后,我们把收发写在一个文件内,这样可以跟别的小伙伴一起进行互动!

这次多了一个模块,不了解的可以先放在一边,主要学习的还是socket。

threading 是Python里面多线程模块。这里不做讲解

大家只要晓得几个步骤会使用即可

# 导入模块import threading
# 创建线程t1 = threading.Thread(target=接收, args=(socket_udp,))t2 = threading.Thread(target=发送, args=(socket_udp,))# 启动线程t1.start()t2.start()

这次我们声明两个函数, 一个是发送一个是接收

这里直接使用了中文。。不要吐槽我。。

接收一个参数,也就是socket的参数,

收发共用一个套接字。

def 发送(socket_udp):  pass
def 接收(socket_udp):  pass

main函数做主要控制,并且创建两个进程,实现发送的时候可以同时接收数据。

不要非要发送完毕才接收数据。

大家也可以去掉进程自己改动下代码看看没有多进程是什么样的。

import socketimport threading
def 发送(socket_udp):    while True:        # 发送数据        date = input("输入要发送的内容:")        port = (socket.gethostname(), 7890)        socket_udp.sendto(date.encode("utf-8"), port)
def 接收(socket_udp):    while True:        # 接收数据        rdate, rport = socket_udp.recvfrom(1024)        print("来自{}的消息:\n {} \n".format(rport, rdate))

def main():    # 创建套接字    socket_udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    # 绑定端口    host = (socket.gethostname(), 7890)    socket_udp.bind(host)
    t1 = threading.Thread(target=接收, args=(socket_udp,))    t2 = threading.Thread(target=发送, args=(socket_udp,))    t1.start()    t2.start()
    # 关闭套接字    #socket_udp.close()
if __name__ == "__main__":    main()
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 萌海无涯 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档