博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于udp的scoket通信
阅读量:5910 次
发布时间:2019-06-19

本文共 1793 字,大约阅读时间需要 5 分钟。

  1.udp例子1

  udpserver.py

# udp的server,不需要进行监听也不需要建立连接    # 在启动服务之后只能被动的等待客户端发送消息过来    # 客户端发送消息的同时还会自带地址信息    # server消息回复的时候,不仅需要发送消息,还需要带上对方的地址import socketsk = socket.socket(type=socket.SOCK_DGRAM)  # 创建udp的socketsk.bind(('127.0.0.1', 8080))    # 绑定ip与端口info = ''while True:    msg, addr = sk.recvfrom(1024)   # 阻塞接收数据,得到数据内容与目标的ip地址    print(msg.decode('utf-8'))    info = input('发送到client的数据内容:')    sk.sendto(info.encode('utf-8'), addr)    # 消息内容,并且指定目标IP端口发送sk.close()

  udpclient1.py

import socketsk = socket.socket(type=socket.SOCK_DGRAM)ip_port = ('127.0.0.1', 8080)info = ''while True:    info = input('发送到udp服务端的内容:')    sk.sendto(info.encode('utf-8'), ip_port)    # 消息内容,并且指定目标ip和端口发送数据,ip和端口是为元组的参数    msg, addr = sk.recvfrom(1024)   # 阻塞接收数据,得到目标发送的信息和目标的ip端口    print(msg.decode('utf-8'))sk.close()

  ucpclient2.py

import socketsk = socket.socket(type=socket.SOCK_DGRAM)ip_port = ('127.0.0.1', 8080)info = ''while True:    info = input('发送到udp服务端的内容:')    sk.sendto(info.encode('utf-8'), ip_port)    # 消息内容,并且指定目标ip和端口发送数据,ip和端口是为元组的参数    msg, addr = sk.recvfrom(1024)   # 阻塞接收数据,得到目标发送的信息和目标的ip端口    print(msg.decode('utf-8'))sk.close()

 

  2.简单udp时间服务器例子

  udpserver.py

# udp server端提供服务    # 接收信息  时间格式    # 将server端的时间转换成接收到的时间格式的格式,发送给udp客户端import socketimport timesk = socket.socket(type=socket.SOCK_DGRAM)sk.bind(('127.0.0.1', 8080))msg = ''addr = ()while True:    msg, addr = sk.recvfrom(1024)    if msg.decode('utf-8') == 'bye':        break    sk.sendto(time.strftime(msg.decode('utf-8')).encode('utf-8'), addr)sk.close()

  udpclient.py

import socketsk = socket.socket(type=socket.SOCK_DGRAM)ip_port = ('127.0.0.1', 8080)sk.sendto(b'%Y-%m-%d %H:%M:%S', ip_port)msg, addr = sk.recvfrom(1024)print(msg.decode('utf-8'))

 

转载于:https://www.cnblogs.com/whylinux/p/9742273.html

你可能感兴趣的文章
RN命令的使用
查看>>
小型考试系统
查看>>
【动态规划】The least round way
查看>>
如何统计序列中元素的出现频度
查看>>
流程(上)
查看>>
基于django的生成二维码的接口
查看>>
常识性概念
查看>>
java 集合框架(四)Set
查看>>
微信公众号支付 当前url未注册
查看>>
String类的常用方法详解
查看>>
通过Adobe Encode CC 2017,将一张静态图生成一个长时间的视频。
查看>>
git stash -- common usage
查看>>
rpm常用操作
查看>>
【LINUX】启用ssh服务
查看>>
pycharm2016序列号失效问题解决办法
查看>>
微软职位内部推荐-Senior Software Engineer
查看>>
详解MathType中如何更改公式颜色
查看>>
如何使用ABBYY FineReader 12将JPEG文件转换成可编辑文本
查看>>
JavaScript倒计时类
查看>>
第八周作业
查看>>