基于UDP的套接字

udp不同于tcp协议:不需要经过三次握手、四次挥手。直接发送数据就行。

服务端

import socket

ip_port = ('127.0.0.1', 8001)
buffer_size = 1024 service = socket.socket(family=socket.AF_INET, type=socket.SOCK_DGRAM) # 绑定
service.bind(ip_port)
print('start...') while 1:
data, addr = service.recvfrom(buffer_size)
print('客户端发来的数据:', data.decode('utf-8'))
print('客户端的信息:', addr)
msg = input('给%s发送的消息:' % addr[1]).strip()
service.sendto(msg.encode('utf-8'), addr)
print('给客户端%s的消息:%s 发送成功' % (addr[1], msg))

客户端

import socket

ip_port = ('127.0.0.1', 8001)
buffer_size = 1024 client = socket.socket(family=socket.AF_INET, type=socket.SOCK_DGRAM) while 1:
msg = input('给服务器发送消息:').strip()
if not msg:
continue
client.sendto(msg.encode('utf-8'), ip_port)
data, addr = client.recvfrom(buffer_size)
print(addr)
print('服务器发来的消息:%s' % data.decode('utf-8'))

005---基于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. 基于udp的套接字编程

    一,简单明了了解udp套接字编程 客户端: #Author : Kelvin #Date : 2019/1/30 11:07 from socket import * ip_conf=("1 ...

  5. 基于udp的套接字

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

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

  7. python3全栈开发-补充UDP的套接字、操作系统、并发的理论基础

    一.基于UDP的套接字 udp套接字简单示例 import socket ip_port=('1.1.1.1',8181) BUFSIZE=1024 udp_server_client=socket. ...

  8. 异常处理和UDP Socket套接字

    一.异常处理 1.什么是异常处理: 程序在运行过程中出现了不可预知的错误,并且该错误没有对应的处理机制,那么就会以异常的形式表达出来,造成的影响就是整个程序无法再正常进行. 2.异常的结构: 1.异常 ...

  9. python基础22------python基础之基于tcp和udp的套接字

    一.TCP套接字 1.low版tcp套接字 服务器端 客户端 2.改进版tcp套接字 服务端 客户端 二.UDP的套接字 服务器 客户端 注:udp的套接字可以支持多个客户端同时访问,但tcp套接字就 ...

随机推荐

  1. CSS z-index的用法

    理清 position及z-index的用法: static :  无特殊定位,对象遵循HTML定位规则absolute :  将对象从文档流中拖出,使用left,right,top,bottom等属 ...

  2. 给Sublime text 3增加选中当前单词快捷键

    1.录制一份macro caret on a word –> ctrl+left –> ctrl+shift+right 2.将录制好的macro保存为select_current_wor ...

  3. 我的HTML总结之表单

    表单是Web中实现交互的重要方法,用于收集用户信息并提交给服务器.   表单中的9大控件 <input type="text" name="key" va ...

  4. Power Designer逆向工程连接数据库创建pdm-oracle

    1.进入菜单文件-Reverse Engineer-Database... 2.打开窗口,选择数据库版本,点击[确定] 3.打开窗口,选择Usering a data source: 4.如果已经有d ...

  5. xml解析-jaxp之dom解析

    package day06_parser.dom; /** * xml的解析技术:JAXP是Java API for XML Processing的英文字头缩写, * 中文含义是:用于XML文档处理的 ...

  6. Hinge Loss

    http://blog.csdn.net/luo123n/article/details/48878759 https://en.wikipedia.org/wiki/Hinge_loss       ...

  7. 【洛谷P3225】[HNOI2012]矿场搭建

    矿场搭建 题目链接 根据题意,发生事故时会有一个挖煤点坍塌, 只有当这个点是割点,会对图的连通性产生影响, 我们首先Tarjan一遍找到所有割点,将原图除去这些割点后, 遍历一遍,找出所有连通块,分三 ...

  8. 【转载】Atom 是一款各方面体验都很像 Sublime Text 的编辑器

    转载:http://www.appinn.com/atom-editor/ Atom 是一款各方面体验都很像 Sublime Text 的编辑器,它由 Github 出品,目前免费. Atom 功能的 ...

  9. 在VS2010 中使用subversion 进行代码的分支与合并

    在实际开发总,遇到了这种情况: 开发版本1,开发版本2 ,更新产品时要求1在前,2在后. 但是因为时间要求,必须2个版本同时开发.这时就想到了在svn的版本分支合并. 创建分支之前,首先把当前版本代码 ...

  10. Xcode DeviceSupport

    问题:Could not locate device support files. This iPhone 6s is running iOS 12.1 (16B5059d), which may n ...