UDPserver.py

 import socket
#导入套接字模块 s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
# - socket.AF_INET:IPV4
# - socket.STREAM:TCP
# - socket.DGRAM:UDP s.bind(('',25555))
#绑定套接字有效地址和端口
#''空位任何地址 本地的127.0.0.1 和局域网还有自己真实的ip
print('[+] Server Open.....') while True:
try:
data,c_addr = s.recvfrom(1024)
#一次性接受1024bytes的数据 ,返回一个元组,其中有数据和地址
#UDP不需要构成连接,直接发送即可
print('from:',c_addr)
#c_addr是一个地址,发送消息的客户端的IP和端口的二元组
print('say:%s'%(data.decode('utf-8')))
msg = data.decode('utf-8')
s.sendto(msg.encode('utf-8'),c_addr)
#发送信息,其中有两个参数,一个是信息,一个是目标地址和端口
except KeyboardInterrupt:
break print('[+] Server Close......')
s.close

UDPclient.py

 import socket
#导入套接字模块 c = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
# - socket.AF_INET:IPV4
# - socket.STREAM:TCP
# - socket.DGRAM:UDP while True:
try:
msg = input('>>>')
if msg == 0:
#判断输入是否为空 就是直接回车了
continue
#UDP不需要构成连接,直接发送即可
c.sendto(msg.encode('utf-8'),('127.0.0.1',25555))
#发送消息,其中两个参数,第一个是要发送的信息
#第二个是发送的ip地址和端口,是一个元组 data,s_addr = c.recvfrom(1024) #c_addr是一个地址,发送消息的客户端的IP和端口的二元组
print('$: %s'%(data.decode('utf-8')))
except KeyboardInterrupt:
break c.close()

UDP套接字模型

  • UDP不需要构成连接,直接发送即可

  • 服务端模型:

    • s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)

    • s.bind(('',25555))

      • data,c_addr = s.recvfrom(1024)

        • 别人发来的消息 就直接发到s服务端套接字了

        • data:发来的数据

        • c_addr:谁发的

      • s.sendto(msg, c_addr)

  • send recv

  • sendto recvfrom

    • 都是阻塞的

python UDP套接字通信的更多相关文章

  1. QT下UDP套接字通信——QUdpSocket 简单使用

    QT下UDP套接字通信--QUdpSocket QUdpSocket类提供一个UDP套接字. UDP(用户数据报协议)是一种轻量级.不可靠.面向数据报.无连接的协议.它可以在可靠性不重要的情况下使用. ...

  2. Python socket套接字通信

    一.什么是socket? socket是一个模块, 又称套接字,用来封装 互联网协议(应用层以下的层). 二.为什么要有socket? socket可以实现互联网协议 应用层以下的层 的工作,提高开发 ...

  3. python 之 网络编程(基于UDP协议的套接字通信)

    8.5 基于UDP协议的套接字通信 UDP协议:数据报协议 特点:无连接,一发对应一收,先启动哪一端都不会报错 优点:发送效率高,但有效传输的数据量最多为500bytes 缺点:不可靠:发送数据,无需 ...

  4. Python 3 udp 套接字

    Python 3 udp套接字 TCP是建立可靠连接,并且通信双方都可以以流的形式发送数据.相对TCP,UDP则是面向无连接的协议 使用UDP协议时,不需要建立连接,只需要知道对方的IP地址和端口号, ...

  5. 基于tcp/udp协议的套接字通信

    目录 一.套接字分类 二.套接字的工作流程 三.基于tcp协议的套接字 四.基于udp协议的套接字 一.套接字分类 1.基于文件类型的套接字家族:AF_UNIX 2.基于网络类型的套接字家族:AF_I ...

  6. 【Python网络编程】利用Python进行TCP、UDP套接字编程

    之前实现了Java版本的TCP和UDP套接字编程的例子,于是决定结合Python的学习做一个Python版本的套接字编程实验. 流程如下: 1.一台客户机从其标准输入(键盘)读入一行字符,并通过其套接 ...

  7. Python之路(第三十二篇) 网络编程:udp套接字、简单文件传输

    一.UDP套接字 服务端 # udp是无链接的,先启动哪一端都不会报错 # udp没有链接,与tcp相比没有链接循环,只有通讯循环 server = socket.socket(socket.AF_I ...

  8. Python之路(第三十一篇) 网络编程:简单的tcp套接字通信、粘包现象

    一.简单的tcp套接字通信 套接字通信的一般流程 服务端 server = socket() #创建服务器套接字 server.bind() #把地址绑定到套接字,网络地址加端口 server.lis ...

  9. python开发socket套接字:粘包问题&udp套接字&socketserver

    一,发生粘包 服务器端 from socket import * phone=socket(AF_INET,SOCK_STREAM) #套接字 phone.setsockopt(SOL_SOCKET, ...

随机推荐

  1. Nginx+apache/Tomcat实现反向代理与动静分离

    其实本人比较喜欢nginx跑静态和做负载反向代理,动态php还是交给apache处理比较稳定,jsp就交给tomcat.resin或jboss.nginx跑静态的能力是无与伦比的,是目前web服务器里 ...

  2. [每天解决一问题系列 - 0005] WiX Burn 如何校验chained package的合法性

    问题描述: 项目中使用Wix burn打包,内部包含了多个MSI.有时候会遇到如下错误 Error 0x80091007: Failed to verify hash of payload: Setu ...

  3. JavaScript “跑马灯”抽奖活动代码解析与优化(二)

    既然是要编写插件.那么叫做"插件"的东西肯定是具有的某些特征能够满足我们平时开发的需求或者是提高我们的开发效率.那么叫做插件的东西应该具有哪些基本特征呢?让我们来总结一下: 1.J ...

  4. IE不支持 Promise 解决办法

    引入 <script src = "https://cdn.polyfill.io/v2/polyfill.min.js"></script> 或 < ...

  5. jq通过对象获取其ID值

    $(this).click(function(){ var this_id=$(this).attr("id");// attr(属性名) 获取属性的值 alert(this_id ...

  6. 从零开始学 Web 之 DOM(五)元素的创建

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... +-------------------------------------------------------- ...

  7. 字符串replaceAll()方法报错:java.util.regex.PatternSyntaxException:Unclosed group near index...

    Unclosed group near index错误 之前自己写的一个模块在项目上线后最近频频出现tomcat崩掉的情况,从log看出现如下的报错信息: java.util.regex.Patter ...

  8. 网络IP地址

    IP地址分类 A类网络的IP地址范围为1.0.0.1-127.255.255.254: B类网络的IP地址范围为:128.1.0.1-191.255.255.254: C类网络的IP地址范围为:192 ...

  9. vi/vim使用

    移动光标上:k nk:向上移动n行 9999k或gg可以移到第一行 G移到最后一行下:j nj:向下移动n行左:h nh:向左移动n列右:l nl:向右移动n列 w:光标以单词向前移动 nw:光标向前 ...

  10. JavaScript之读取和写入cookie

      首先先让我们简单地了解一下cookie.   在我们制作网页的过程中,经常需要把信息从一个页面传递给另一个页面,这时候就需要用到JavaScript中的cookie机制了.简单说来,cookie提 ...