基于udp的scoket通信
1.udp例子1
udpserver.py
# udp的server,不需要进行监听也不需要建立连接
# 在启动服务之后只能被动的等待客户端发送消息过来
# 客户端发送消息的同时还会自带地址信息
# server消息回复的时候,不仅需要发送消息,还需要带上对方的地址 import socket sk = socket.socket(type=socket.SOCK_DGRAM) # 创建udp的socket sk.bind(('127.0.0.1', 8080)) # 绑定ip与端口 info = ''
while True:
msg, addr = sk.recvfrom(1024) # 阻塞接收数据,得到数据内容与目标的ip地址
print(msg.decode('utf-8'))
info = input('发送到client的数据内容:')
sk.sendto(info.encode('utf-8'), addr) # 消息内容,并且指定目标IP端口发送 sk.close()
udpclient1.py
import socket
sk = socket.socket(type=socket.SOCK_DGRAM)
ip_port = ('127.0.0.1', 8080)
info = ''
while True:
info = input('发送到udp服务端的内容:')
sk.sendto(info.encode('utf-8'), ip_port) # 消息内容,并且指定目标ip和端口发送数据,ip和端口是为元组的参数
msg, addr = sk.recvfrom(1024) # 阻塞接收数据,得到目标发送的信息和目标的ip端口
print(msg.decode('utf-8'))
sk.close()
ucpclient2.py
import socket
sk = socket.socket(type=socket.SOCK_DGRAM)
ip_port = ('127.0.0.1', 8080)
info = ''
while True:
info = input('发送到udp服务端的内容:')
sk.sendto(info.encode('utf-8'), ip_port) # 消息内容,并且指定目标ip和端口发送数据,ip和端口是为元组的参数
msg, addr = sk.recvfrom(1024) # 阻塞接收数据,得到目标发送的信息和目标的ip端口
print(msg.decode('utf-8'))
sk.close()
2.简单udp时间服务器例子
udpserver.py
# udp server端提供服务
# 接收信息 时间格式
# 将server端的时间转换成接收到的时间格式的格式,发送给udp客户端 import socket
import time sk = socket.socket(type=socket.SOCK_DGRAM)
sk.bind(('127.0.0.1', 8080))
msg = ''
addr = ()
while True:
msg, addr = sk.recvfrom(1024)
if msg.decode('utf-8') == 'bye':
break
sk.sendto(time.strftime(msg.decode('utf-8')).encode('utf-8'), addr) sk.close()
udpclient.py
import socket sk = socket.socket(type=socket.SOCK_DGRAM)
ip_port = ('127.0.0.1', 8080)
sk.sendto(b'%Y-%m-%d %H:%M:%S', ip_port)
msg, addr = sk.recvfrom(1024)
print(msg.decode('utf-8'))
基于udp的scoket通信的更多相关文章
- JAVA基础知识之网络编程——-基于UDP协议的通信例子
UDP是一种不可靠的协议,它在通信两端各建立一个socket,这两个socket不会建立持久的通信连接,只会单方面向对方发送数据,不检查发送结果. java中基于UDP协议的通信使用DatagramS ...
- Python中的端口协议之基于UDP协议的通信传输
UDP协议: 1.python中基于udp协议的客户端与服务端通信简单过程实现 2.udp协议的一些特点(与tcp协议的比较) 3.利用socketserver模块实现udp传输协议的并 ...
- 【Java网络编程】基于 UDP 的聊天通信
使用 udp 协议,写一个基于命令行的聊天软件:客户端跟服务端分别在命令行启动之后,客户端和服务器端可以互相发送数据. 代码实现如下: 一.创建线程 sendThread 和 receiveThrea ...
- 为何基于tcp协议的通信比基于udp协议的通信更可靠?
tcp协议一定是先建好双向链接,发一个数据包要得到确认才算发送完成,没有收到就一直给你重发:udp协议没有链接存在,udp直接丢数据,不管你有没有收到. TCP的可靠保证,是它的三次握手双向机制,这一 ...
- [java]基于UDP的Socket通信Demo
java课编程作业:在老师给的demo的基础上实现客户端发送数据到服务器端,服务器端接受客户端后进行数据广播. 整体功能类似于聊天室,代码部分不是太难,但是在本机测试的时候出现这样的问题: 服务端通过 ...
- Android基于UDP的局域网聊天通信
代码地址如下:http://www.demodashi.com/demo/12057.html 记得把这几点描述好咯:代码实现过程 + 项目文件结构截图 + 演示效果 1. 开发环境 1.1 开发工具 ...
- Java实例练习——基于UDP协议的多客户端通信
昨天学习了UDP协议通信,然后就想着做一个基于UDP的多客户端通信(一对多),但是半天没做出来,今天早上在参考了很多代码以后,修改了自己的代码,然后运行成功,在这里分享以下代码,也说一下自己的认识误区 ...
- 基于Udp的五子棋对战游戏
引言 本文主要讲述在局域网内,使用c#基于Udp协议编写一个对战的五子棋游戏.主要从Udp的使用.游戏的绘制.对战的逻辑这三个部分来讲解. 开发环境:vs2013,.Net4.0,在文章的末尾提供源代 ...
- Learning-Python【30】:基于UDP协议通信的套接字
UDP协议没有粘包问题,但是缓冲区大小要足够装数据包大小,建议不要超过 512 服务端: # 服务端 import socket server = socket.socket(socket.AF_IN ...
随机推荐
- docker系统化学习图文+视频教程
1.背景 博客对应的视频课程: 9.9元在线学习:https://study.163.com/course/courseMain.htm?share=2&shareId=40000000033 ...
- requests-html添加header
from requests_html import HTMLSession session = HTMLSession() headers = { "User-Agent":&qu ...
- 第三十三章 linux常规练习题(二)
一.练习题一 1.删除用户基本组shanghai03.发现无法正常删除,怎样才能将其删除掉,不能删除用户.2.打开多个xshell窗口连接登录同一虚拟机,使用不同的用户登录多次,分别使用w和who命令 ...
- jdk可视化工具系列——检视阅读
jdk可视化工具系列--检视阅读 参考 java虚拟机系列 RednaxelaFX知乎问答 RednaxelaFX博客 JConsole--Java监视与管理控制台 jconsole介绍 JConso ...
- C# 将DataTable里面的数据导出到excel
//需要在bin里面添加 Interop.Microsoft.Office.Interop.Excel.dll 的引用 //添加引用 using System.Data; /// <summar ...
- C#文件序列化
前言 最近,为了实现Unity游戏数据的加密,我都把注意力放到了C#的加密方式身上,最简单的莫过于C#的序列化了,废话不多说,直接开始 准备工作 在使用文件序列化前我们得先引用命名空间 using S ...
- 实战二:nacos服务注册与发现,openfeign服务调用
一,参照上一篇创建好微服务结构后,按业务需求编写各微服务逻辑 二,服务注册 1,安装nacos:下载,解压,运行startup.cmd 2,访问 http://localhost:8848/nacos ...
- STC 核心板 入门记
写在开始 STC核心板,它的软件十分全面,想要什么都有,非常适合新手入门. 上一次电赛刚结束,现在反正也啥也不太会,干脆学个这个吧. 顺便写篇博客记录一下. 记录第一次烧写 周四下单,周六到货.中午拿 ...
- 【设计模式】第一篇:概述、耦合、UML、七大原则,详细分析总结(基于Java)
迷茫了一周,一段时间重复的 CRUD ,着实让我有点烦闷,最近打算将这些技术栈系列的文章先暂时搁置一下,开启一个新的篇章<设计模式>,毕竟前面写了不少 "武功招式" 的 ...
- 观察者模式EventBus
EventBus能够简化各组件间的通信,让我们的代码书写变得简单,能有效的分离事件发送方和接收方(也就是解耦的意思),能避免复杂和容易出错的依赖性和生命周期问题. implementation 'or ...