一,简单明了了解udp套接字编程

客户端:

 #Author : Kelvin
#Date : 2019/1/30 11:07
from socket import *
ip_conf=("127.0.0.1",8888)
buffer_content=1024
udp_client=socket(AF_INET,SOCK_DGRAM) #数据报
while True:
udp_client.sendto(input("\033[1;32;0m回复:\033[0m").encode("utf8"),ip_conf)
data,addr=udp_client.recvfrom(buffer_content)
print("\033[1;36;0m服务器:\033[0m%s"%data.decode("utf8"))

服务器端:

 #Author : Kelvin
#Date : 2019/1/30 11:07
from socket import *
ip_conf=("127.0.0.1",8888)
buffer_content=1024
udp_server=socket(AF_INET,SOCK_DGRAM) #数据报
udp_server.bind(ip_conf)
while True:
data,addr=udp_server.recvfrom(buffer_content)
print("\033[1;36;0m客户端:\033[0m%s"%data.decode("utf8"))
udp_server.sendto(input("\033[1;32;0m回复:\033[0m").encode("utf8"),addr)

udp套接字优点在于 可以同时接收多个客户端请求并通信,而tcp同一时间只能与一个客户端通信(纯净tcp),只有结束当前通信后才能与其他客户端通信。

二,udp示例(时间服务器)

服务器端:

 #Author : Kelvin
#Date : 2019/1/30 11:07
from socket import *
import time
ip_conf=("127.0.0.1",8888)
buffer_content=1024
udp_server=socket(AF_INET,SOCK_DGRAM) #数据报
udp_server.bind(ip_conf)
while True:
data,addr=udp_server.recvfrom(buffer_content)
data=data.decode("utf8")
if not data:
form="%Y-%m-%d %X"
else:
form=data
now_time=time.strftime(form)
udp_server.sendto(now_time.encode("utf8"),addr)

客户端:

 # Author : Kelvin
# Date : 2019/1/30 11:07
from socket import * ip_conf = ("127.0.0.1", 8888)
buffer_content = 1024
udp_client = socket(AF_INET, SOCK_DGRAM) # 数据报
print("""
1:直接回车获取默认时间格式
2:使用%Y %m %d %X 任意排序组合
3:使用%Y %m %d %X 其中的任意个
""")
while True:
udp_client.sendto(input("\033[1;32;0m获取时间命令:\033[0m").encode("utf8"), ip_conf)
data, addr = udp_client.recvfrom(buffer_content)
print("\033[1;36;0m服务器时间:\033[0m%s" % data.decode("utf8"))

运行结果:

基于udp的套接字编程的更多相关文章

  1. 基于UDP的套接字、粘包问题

    一.基于UDP的套接字 UDP服务端 ss = socket() #创建一个服务器的套接字 ss.bind() #绑定服务器套接字 inf_loop: #服务器无限循环 cs = ss.recvfro ...

  2. python笔记8 socket(TCP) subprocess模块 粘包现象 struct模块 基于UDP的套接字协议

    socket 基于tcp协议socket 服务端 import socket phone = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 买 ...

  3. Day9 基于TCP的套接字和基于UDP的套接字

    服务端: ss=socket() #创建服务器套接字 ss.bind() #把地址绑定到套接字 ss.listen() #监听套接字, inf_loop: #服务器无限循环 cs=ss.accept( ...

  4. tcp流式套接字和udp数据报套接字编程区别

    1. 流式套接字采用字节流方式进行传输,而数据报套接字 使用数据报形式传输数据2. tcp套接字会产生粘包,udp有消息边界,不会形成粘包.3. tcp编程可以保证消息的完整性,udp则不能保证4. ...

  5. 基于udp的套接字

    1 ss = socket() #创建一个服务器的套接字 2 ss.bind() #绑定服务器套接字 3 inf_loop: #服务器无限循环 4 cs = ss.recvfrom()/ss.send ...

  6. 基于tcp的套接字编程

    一,基础版服务器端客户端(一收一发,只有一个客户端链接) 服务器端: #Author : Kelvin #Date : 2019/1/28 22:10 from socket import * ser ...

  7. socket原理-基于UDP的套接字-基于TCP实现远程命令-粘包

  8. 4-socket套接字编程

    socket套接字编程 目标:根据socket模块提供的接口函数,进行组合使用完成基于tcp或者udp的网络编程. 套接字:完成上述目标的一种编程手段,编程方案. 套接字分类: 流式套接字(sock_ ...

  9. 基本套接字编程(1) -- tcp篇

    1. Socket简介 Socket是进程通讯的一种方式,即调用这个网络库的一些API函数实现分布在不同主机的相关进程之间的数据交换. 几个定义: (1)IP地址:即依照TCP/IP协议分配给本地主机 ...

随机推荐

  1. 今年暑假不AC - HZNU寒假集训

    今年暑假不AC "今年暑假不AC?" "是的." "那你干什么呢?" "看世界杯呀,笨蛋!" "@#$%^&a ...

  2. esp-12e折腾

    寒假前就从x宝买了esp-12e以及esp32s,当时似乎是想给自己的蓝牙开门升级换代?esp32s拿来过度linux? 寒假放在书包拿回去以为有时间会玩玩,没想到一直耽搁到现在.前两天才拿出来,网上 ...

  3. C#避免踩坑之如何添加paint事件

    看截图: 首先,右击->属性 然后出来这个界面. 接下来,注意看这个界面的上面:鼠标悬停这个闪电符号,看到没,事件!! 那个闪电符号,点它! 然后下拉找到这个: 你要事先在代码里面添加Form1 ...

  4. Search in rotated array two

    description: Follow up for "Search in Rotated Sorted Array":What if duplicates are allowed ...

  5. 用Python+qrcode库创建一个包含信息的二维码

    安装qrcode库和PIL库 在命令行中分别输入pip install qrcode 和pip install pillow 导入库格式如下: import PIL import qrcode 下面以 ...

  6. Python_性能测试

    使用pip安装Python扩展库memory_profiler from memory_profiler import profile @profile #修饰器 def isPrime(n): if ...

  7. Setting up Latex-vim (or Latex-suite) plugin within macVim under Mac OSX Yosemite 2015-1-20 by congliu

    1. Overview: Vim是命令行下的文本编辑程序,gVim是Vim的Linux下的图形化版本,macVim是Mac下的图形化版本 Latex-vim是vim写Latex文件时的插件 Skim是 ...

  8. 基于Kafka Connect框架DataPipeline在实时数据集成上做了哪些提升?

    在不断满足当前企业客户数据集成需求的同时,DataPipeline也基于Kafka Connect 框架做了很多非常重要的提升. 1. 系统架构层面. DataPipeline引入DataPipeli ...

  9. Linux Vim配置

    用过很多vim配置的版本,怎么说,想轻量级就不要胡加乱七八糟的功能:如果不在乎反应是不是快速,侧重功能是否强大,可以参考vim大神的配置策略(spf13-vim)https://github.com/ ...

  10. Spring Cloud Sleuth服务链路追踪(zipkin)(转)

    这篇文章主要讲述服务追踪组件zipkin,Spring Cloud Sleuth集成了zipkin组件. 一.简介 Spring Cloud Sleuth 主要功能就是在分布式系统中提供追踪解决方案, ...