专栏首页萌海无涯Python中socket的UDP学习(3)

Python中socket的UDP学习(3)

继续学习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()

本文分享自微信公众号 - 萌海无涯(mhwyhtwa),作者:萌海无涯

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-31

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python中socket的UDP学习(1)

    TCP是建立可靠连接,并且通信双方都可以以流的形式发送数据。相对TCP,UDP则是面向无连接的协议。

    萌海无涯
  • python中socket的tcp学习(2)

    服务器进程首先要绑定一个端口并监听来自其他客户端的连接。如果某个客户端连接过来了,服务器就与该客户端建立Socket连接,随后的通信就靠这个Socket连接了。

    萌海无涯
  • python中socket的tcp学习(1)

    大多数连接都是可靠的TCP连接。创建TCP连接时,主动发起连接的叫客户端,被动响应连接的叫服务器。

    萌海无涯
  • TCP socket 编程

    希希里之海
  • socket 编程初探

    一 简介 socket是两个应用程序进行通信的管道,这两个应用程序可以在同一台机器上,也可以位于两台不同的机器上,相同的网络或者不同网络之间的。Pyth...

    用户1278550
  • 一分钟了解PythonSocket

    Socket中文译作:套接字,但是大家一般约定俗称的都用:socket。我想在解释socket是什么之前,先说它是用来干嘛的:socket是来建立‘通信’的基础...

    小小科
  • [javaSE] 网络编程(浏览器客户端-自定义服务端)

    获取PrintWriter对象,new出来,构造参数:OutputSream对象,true自动刷新

    陶士涵
  • Python中socket的UDP学习(1)

    TCP是建立可靠连接,并且通信双方都可以以流的形式发送数据。相对TCP,UDP则是面向无连接的协议。

    萌海无涯
  • 携手老李一起整山寨Workerman(八)

    大家好,我还是那个文风浮夸词藻华丽、内容正规内涵犀利、写出一篇文章往那里一放,就能吸引极少数泥腿子的老李。

    老李秀
  • python之socket

    socket 是网络连接端点,每个socket都被绑定到一个特定的IP地址和端口。IP地址是一个由4个数组成的序列,这4个数均是范围 0~255中的值(例如,...

    py3study

扫码关注云+社区

领取腾讯云代金券