udp客户端收发数据流程
1、创建客户端socket开始进行通讯。
2、这时服务端应该先启动,并在知道服务端的ip以及端口号的时候才能进行通讯。
3、本地不需要绑定ip以及端口号,在用此套接字对象发送消息的时候会自动分配活动端口(1024-65535)
每次重启程序可能每次都不一样。
4、然后对将要发送的信息进行编码处理,然后将编码后的字节码发送到指定服务端ip以及端口。
5、这里还可以进行消息的接收,在这里接收消息首先得要发送数据到指定的服务端,告诉服务端客户端的ip以及所使用的端口是什么。
6、如果先进行消息阻塞是收不到消息的,这里客户端不需要绑定端口可以理解成在客户端把数据发送到服务端以后系统在后台默默地
把客户端ip以及端口和客户端绑定了起来。这样服务端发送的消息就能被客户端所接收。
7、接受到消息同样要进行解码,解码形式与服务端发送过来数据的编码格式相对应,把字节码转换成能看懂的数据进行打印。
8、最后进行客户端udp套接字关闭。
from socket import *
# 客户端 # 定义客户端udp套接字
socket_udp = socket(AF_INET, SOCK_DGRAM)
# 确定目标ip以及端口,这里是服务端在局域网内的ip地址以及服务端绑定的端口号
dest_addr = (' 这里填写服务端ipv4地址 ', 8989) while True:
# 输入发送数据
temp_data = input('客户端:')
# 加上具体对象形成对话形式
temp_data = '客户端:' + temp_data
# 对将要发送的数据进行编码,目标地址使用的什么编码去解码接收,则在这里使用什么编码去进行编码
socket_data = temp_data.encode('gbk')
# 调用套接字里udp发送数据的函数sendto()
socket_udp.sendto(socket_data, dest_addr)
# 准备接收数据,接收长度为1024
temp_recv_data = socket_udp.recvfrom(1024)
# 对接收到的数据进行解码
socket_udp_recv_data = temp_recv_data[0].decode('gbk')
# # 对接收到的消息进行打印
# print(socket_udp_recv_data, '\n对方发送数据所使用的端口号是:', temp_recv_data[1][1])
# 对接收到的消息进行打印
print(socket_udp_recv_data)
# 发送完毕,关闭udp套接字、
# socket_udp.close()
udp客户端收发数据流程的更多相关文章
- udp服务端收发数据流程
1.创建服务端的socket以便开始通讯.2.绑定ip以及端口号,这样客户端才能找到这个程序.3.因为本地网卡不止一个所以尽量不写死,一般用""空来表示所有本地网卡.4.接下来开始 ...
- Android笔记:Socket客户端收发数据
client.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" and ...
- Hadoop_08_客户端向HDFS读写(上传)数据流程
1.HDFS的工作机制: HDFS集群分为两大角色:NameNode.DataNode (Secondary Namenode) NameNode负责管理整个文件系统的元数据 DataNode 负责管 ...
- 多线程socket UDP收发数据
多线程socket收发数据 from threading import Thread from socket import * def sendData(): while True: sendInfo ...
- Hbase- Hbase客户端读写数据时的路由流程
1.客户端先到zookeeper查找hbase:meta所在的RegionServer服务器 2.去hbase:meta表查找自己所要的数据所在的region server 3.去目标region s ...
- TCP/UDP简易通信框架源码,支持轻松管理多个TCP服务端(客户端)、UDP客户端
目录 说明 TCP/UDP通信主要结构 管理多个Socket的解决方案 框架中TCP部分的使用 框架中UDP部分的使用 框架源码结构 补充说明 源码地址 说明 之前有好几篇博客在讲TCP/UDP通信方 ...
- android Camera 数据流程分析
这篇文章主要针对其数据流程进行分析.Camera一般用于图像浏览.拍照和视频录制.这里先对图像浏览和拍照的数据流进行分析,后面再对视频电话部分进行分析. 1.针对HAL层对摄像头数据处理补充一下 Li ...
- CMDB处理数据流程
客户端代码执行流程: 服务器端接收并处理数据流程:
- 【NodeJs】使用TCP套接字收发数据的简单实例
因为TCP协议是流协议,在收发数据的时候会有粘包的问题.本例使用自定义的SPtcp封包协议对TCP数据再进行一次封装,解决了粘包问题. 注:其性能仍有待优化.优化方向:使用TCP自带的接收窗口缓存. ...
随机推荐
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(十一)
机器人发射子弹已经完成了,下面看看怎么给玩家设置障碍. 大家从上篇的图可以看到,在机器和篮筐直接有若干障碍物.我们先看如何实现它们. 打开SpriteBuilder,在Sprites文件夹中新建Sma ...
- 9.2、Libgdx的输入处理之鼠标、触摸和键盘
(官网:www.libgdx.cn) Libgdx支持的最主要的设备是desktop或浏览器的鼠标支持,Android的触摸屏支持和键盘的支持.我们接下来了解一下. 键盘 用户按下或释放一个按键生成了 ...
- 【翻译】Ext JS——高效的编码风格指南
原文:ExtJS - Efficient coding style guide 作者:Raja 切勿使用"new"关键字:在Ext JS中,使用"new"关键字 ...
- Android免Root无侵入AOP框架Dexposed
Dexposed框架是阿里巴巴无线事业部近期开源的一款在Android平台下的免Root无侵入运行期AOP框架,该框架基于AOP思想,支持经典的AOP使用场景,可应用于日志记录,性能统计,安全控制,事 ...
- 《java入门第一季》之面向对象面试题(继承中构造方法的关系)
/* 继承中构造方法的关系 A:子类中所有(子类的有参和无参)的构造方法(默认都会访问父类)中(空参数)的构造方法,默认访问父类空参数构造,不默认访问有参数构造 B:为什么呢? 因为子类会继承父类中的 ...
- RecyclerView notifyItem闪烁的问题
之前我们做点赞,用listview做的话,就是在item实现点击后,写一个scal动画,不过现在都转到RecyclerView,那么要做这种效果于是做了一个notifyItemChanged()的操作 ...
- 三消游戏FSM状态机设计图
三消游戏FSM状态机设计图 1) 设计FSM图 2) smc配置文件 ///////////////////////////////////////////////////////////////// ...
- android TextView 垂直自动滚动字幕实现
参考网上一些做法然后进行了修改, 首先继承TextView /** * VerticalScrollTextView.java * 版权所有(C) 2013 * 创建者:cuiran 2013-12- ...
- 如何使用VS2013本地C++单元测试框架
在VS2013中,可以使用VS自带的C++单元测试框架. 在使用该框架前,需要先安装Unit Test Generator(可以通过菜单“工具->扩展和更新”搜索安装). 下边,就阐述一下利用该 ...
- ListView 与ContextMenu的关联管理
<span style="font-family: Arial, Helvetica, sans-serif;">package com.example.listvie ...