python-套接字编程之udp
使用udp协议
服务端:
#!/usr/bin/python3
# coding:utf-8
# Auther:AlphaPanda
# Description:UDP服务端
# Version:1
# Date:Mon Dec 2 03:24:46 EST 2019
### 服务端
import socket
# 1 创建udp对象 tpye = SOCK_DGRAM 代表udp协议
sk = socket.socket( type = socket.SOCK_DGRAM ) # 2 绑定Ip和端口(在网络中注册主机,让其他的服务器可以找到该主机)
sk.bind(("127.0.0.1",9000)) # 3 收发数据的逻辑
"""udp的服务端,第一次只能接收数据"""
while True:
msg,cli_addr = sk.recvfrom(1024)
print(msg.decode("utf-8"))
message = input("server:>>>")
if message == "q":
break
else:
sk.sendto(message.encode("utf-8"),cli_addr)
# 4 关闭udp连接
sk.close()
客户端:
#!/usr/bin/python3
# coding:utf-8
# Auther:AlphaPanda
# Description:udp客户端
# Version::1
# Date:Mon Dec 2 03:28:23 EST 2019
"""
import socket
sk = socket.socket( type = socket.SOCK_DGRAM)
sk.sendto("hello".encode("utf-8"),("127.0.0.1",9000))
msg,dest_addr = sk.recvfrom(1024)
print(msg.decode("utf-8"))
sk.close()
"""
# 导入模块
import socket
# 生成UDP类型的套接字对象
sk = socket.socket( type = socket.SOCK_DGRAM )
# 逻辑判断,收发数据的代码
while True:
message = input("client:>>>")
if message == "q":
break
else:
sk.sendto(message.encode("utf-8"),("127.0.0.1",9000))
msg,ser_addr = sk.recvfrom(1024)
print(msg.decode("utf-8")) # 关闭UDP连接
sk.close()
python-套接字编程之udp的更多相关文章
- day29 python 套接字socket TCP udp 形式发送信息的区别
我们经常把socket翻译为套接字,socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信. socket起源于UNIX,在 ...
- 异步套接字编程之select模型
█ 选择(select)模型是Winsock中最常见的 I/O模型.核心便是利用 select 函数,实现对 I/O的管理!利用 select 函数来判断某Socket上是否有数据可读,或者能否向 ...
- Java网络编程之UDP
Java网络编程之UDP 一.C/S架构中UDP网络通信流程 ①创建DatagramSocket与DatagramPacket对象 ②建立发送端,接收端 ③建立数据包 ④调用Socket的发送.接收方 ...
- python套接字解决tcp粘包问题
python套接字解决tcp粘包问题 目录 什么是粘包 演示粘包现象 解决粘包 实际应用 什么是粘包 首先只有tcp有粘包现象,udp没有粘包 socket收发消息的原理 发送端可以是一K一K地发送数 ...
- python套接字编程实现ntp服务和远程命令执行
python套接字编程实现ntp服务和远程命令执行 目录 基于udp实现ntp服务 基于tcp实现远程命令执行 基于udp实现远程命令执行 tcp与udp的比较 前面关于套接字基础请查阅 https: ...
- python套接字编程基础
python套接字编程 目录 socket是什么 套接字的工作流程 基于tcp的套接字 基于udp的套接字 socket是什么 客户端/服务器架构(C/S架构) 服务端:提供服务的一端 客户端:请求服 ...
- Python套接字编程(1)——socket模块与套接字编程
在Python网络编程系列,我们主要学习以下内容: 1. socket模块与基本套接字编程 2. socket模块的其他网络编程功能 3. SocketServer模块与简单并发服务器 4. 异步编程 ...
- python(十三):网络编程之socket与socketserver
socket是操作系统中I/O系统延伸部分,支持TCP和UDP等网络通信协议,它使计算机之间(或其本身)的进程通信称为可能.socket中的socket()函数.recv()函数和send()函数,相 ...
- Socker编程之UDP
一:socket简介 1. 不同电脑上的进程之间如何通信 首要解决的问题是如何唯一标识一个进程,否则通信无从谈起! 在1台电脑上可以通过进程号(PID)来唯一标识一个进程,但是在网络中这是行不通的. ...
随机推荐
- python学习之模块-模块(三)
5.6 time 模块 已经知道的常用的time方法:time.time()获取当前时间的时间戳:time.sleep(num)线程推迟指定的时间(秒)后再继续往下运行. 时间的表示方式 大致可以分为 ...
- 【VS开发】ActiveX开发注意事项
[VS开发]ActiveX开发注意事项 标签:[VS开发] 注意:必须在工程的app文件的InitInstance()中加入如下代码,否则动态创建控件不会成功: AfxEnableControlCon ...
- tableau备份
备份:数据库备份:https://help.tableau.com/current/server-linux/zh-cn/cli_maintenance_tsm.htm#tsm https://hel ...
- dhcp协议简介
协议分析 - DHCP协议解码详解 DHCP协议简介 DHCP,全称是 Dynamic Host Configuration Protocol﹐中文名为动态主机配置协议,它的前身是 BOOTP,它工作 ...
- 实现 RSA 算法之基础公式证明(第一章)(老物)
写这篇日志是拖了很久的事情,以前说要写些算法相关的文章给想学信息安全学(简称信安),密码学的同学提供些入门资料,毕竟这种知识教师上课也不会细讲太多(纯理论偏重),更不用说理解和应用了,说到RSA公钥( ...
- vue使用Vuex, IE浏览器报错
错误: [vuex] vuex requires a Promise polyfill in this browser. 原因:因为使用了 ES6 中用来传递异步消息的的Promise,而IE低版本 ...
- 6.纯css绘制叮当猫
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- python图形图像处理--验证码的制作
from PIL import Image,ImageDraw,ImageFontimport randomfrom io import BytesIO class code(): def __ini ...
- 基于AliOS的车载小程序
4月16日上海国际车展首日,阿里巴巴表示正在研发基于AliOS的车载小程序.同时还展出AI HUD.AI驾驶舱等最新技术,AliOS表示正在构建一个可持续发展的整合平台. 阿里方面表示,作为小程序在车 ...
- apache 部署
<VirtualHost *:80> ServerAdmin webmaster@dummy-host.localhost DocumentRoot "D:/EmpireServ ...