基于udp的套接字编程
一,简单明了了解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的套接字编程的更多相关文章
- 基于UDP的套接字、粘包问题
一.基于UDP的套接字 UDP服务端 ss = socket() #创建一个服务器的套接字 ss.bind() #绑定服务器套接字 inf_loop: #服务器无限循环 cs = ss.recvfro ...
- python笔记8 socket(TCP) subprocess模块 粘包现象 struct模块 基于UDP的套接字协议
socket 基于tcp协议socket 服务端 import socket phone = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 买 ...
- Day9 基于TCP的套接字和基于UDP的套接字
服务端: ss=socket() #创建服务器套接字 ss.bind() #把地址绑定到套接字 ss.listen() #监听套接字, inf_loop: #服务器无限循环 cs=ss.accept( ...
- tcp流式套接字和udp数据报套接字编程区别
1. 流式套接字采用字节流方式进行传输,而数据报套接字 使用数据报形式传输数据2. tcp套接字会产生粘包,udp有消息边界,不会形成粘包.3. tcp编程可以保证消息的完整性,udp则不能保证4. ...
- 基于udp的套接字
1 ss = socket() #创建一个服务器的套接字 2 ss.bind() #绑定服务器套接字 3 inf_loop: #服务器无限循环 4 cs = ss.recvfrom()/ss.send ...
- 基于tcp的套接字编程
一,基础版服务器端客户端(一收一发,只有一个客户端链接) 服务器端: #Author : Kelvin #Date : 2019/1/28 22:10 from socket import * ser ...
- socket原理-基于UDP的套接字-基于TCP实现远程命令-粘包
- 4-socket套接字编程
socket套接字编程 目标:根据socket模块提供的接口函数,进行组合使用完成基于tcp或者udp的网络编程. 套接字:完成上述目标的一种编程手段,编程方案. 套接字分类: 流式套接字(sock_ ...
- 基本套接字编程(1) -- tcp篇
1. Socket简介 Socket是进程通讯的一种方式,即调用这个网络库的一些API函数实现分布在不同主机的相关进程之间的数据交换. 几个定义: (1)IP地址:即依照TCP/IP协议分配给本地主机 ...
随机推荐
- Ocelot中文文档-Raft(实验功能不能用于生产环境)
Ocelot最近整合了Rafty,这是我在去年一直研究的Raft的一个实现. 这个项目实验性非常强,所以在我认为它没问题之前,请不要在生产环境中使用Ocelot的这个功能. Raft是一种分布式一致性 ...
- WebLogic SSRF
本文主要记录一下Weblogic SSRF 利用的操作过程. 一.WebLogic SSRF漏洞简介 漏洞编号:CVE-2014-4210 漏洞影响: 版本10.0.2,10.3.6 Oracle W ...
- 【python进阶】深入理解系统进程1
前言 之前程序执⾏都是⼀条腿⾛路,甚⾄是⽤⼀杆枪来打天下. 通过系统编程的学习,会让⼤家有“多条腿”⼀起⾛路,就好⽐有了⼀把机关枪. 此篇为深入理解进程第一篇,下面开始今天的说明~~~ 进程 多任务的 ...
- SOFA 源码分析 — 自动故障剔除
前言 集群中通常一个服务有多个服务提供者.其中部分服务提供者可能由于网络,配置,长时间 fullgc ,线程池满,硬件故障等导致长连接还存活但是程序已经无法正常响应.单机故障剔除功能会将这部分异常的服 ...
- java中你不知道的字符串知识!!!
声明:这是上次写完String和StringBuffer后的补充(看上次的请复制链接在搜索栏粘贴访问) 链接:http://www.cnblogs.com/ytsbk/p/7420581.html 一 ...
- IBM x3850 RAID5数据恢复过程
[raid数据恢复故障描述] 需要进行数据恢复的是北京一家公司的IBM X3850服务器,服务器挂载了5块73G SAS硬盘组成raid5磁盘阵列,4号盘为热备盘(Hot-Spare),由于未知 ...
- Net Core动态加载webservice/WCF
1.动态加载的目的 前端时间和顺丰对接了个项目(PS:顺丰的开发对外能力真的是掉粉),用的webservice 测试时用的无固定IP访问,正式版需要固定IP访问,我的理解是web服务都是全网络可以访问 ...
- RabbitMQ 入门【精+转】
rabbitmq可以用一本书取讲,这里只是介绍一些使用过程中,常用到的基本的知识点.官方文档覆盖的内容,非常全面:http://www.rabbitmq.com/documentation.html ...
- Linux下解压后缀名为".tar.xz"的文件
作者:荒原之梦 原文链接:http://zhaokaifeng.com/?p=576 1 解压".xz" xz -d your_file_name.tar.xz 注:运行上述命令后 ...
- idea 15安装步骤2017.6.25
http://www.jetbrains.com/idea/下载路径 http://www.jb51.net/softjc/549047.html 安装教程 http://www.cnblogs.c ...