当前位置: 首页 > news >正文

网站开发定制合同范本wordpress 改成论坛

网站开发定制合同范本,wordpress 改成论坛,微信公众平台官网电话,四川建筑职业技术学院就业网前面我们讲了 TCP 编程#xff0c;我们知道 TCP 可以建立可靠连接#xff0c;并且通信双方都可以以流的形式发送数据。本文我们再来介绍另一个常用的协议--UDP。相对TCP#xff0c;UDP则是面向无连接的协议。 UDP 协议 我们来看 UDP 的定义#xff1a; UDP 协议#xff…前面我们讲了 TCP 编程我们知道 TCP 可以建立可靠连接并且通信双方都可以以流的形式发送数据。本文我们再来介绍另一个常用的协议--UDP。相对TCPUDP则是面向无连接的协议。 UDP 协议 我们来看 UDP 的定义 UDP 协议User Datagram Protocol中文名是用户数据报协议是 OSIOpen System Interconnection开放式系统互联 参考模型中一种无连接的传输层协议提供面向事务的简单不可靠信息传送服务。 从这个定义中我们可以总结出 UDP 的几个特点以及其与 TCP 的区别 UDP 是用户数据报协议传输模式是数据报而 TCP 是基于字节流的传输协议。 UDP 是无连接的协议每个数据报都是一个独立的信息包括完整的源地址或目的地址它在网络上以任何可能的路径传往目的地因此能否到达目的地到达目的地的时间以及内容的正确性都是不能被保证的。 UDP 是简单不可靠的协议它不提供可靠性只是把数据包发送出去并不保证能够到达目的地。由于它不需要在客户端和服务端之间建立连接也没有超时重发机制所以传输速度很快。 从以上特点我们可以看到 UDP 适合应用在每次传输数据量小、对数据完整性要求不高、对传输速度要求高的领域。这里面最典型的就是即时通信的场景微信是一个很常见的例子。相信大家在使用微信的时候都遇到过先发的消息后收到或者有些发送的消息对方没有收到的情况吧这就是 UDP 协议典型的特点不保证传输数据的完整性和顺序性。除此之外 UDP 还应用在在线视频、网络电话等场景。 UDP 传输过程 我们在讲 TCP 的时候我们说 TCP 客户端和服务端必须先连接才可以传输数据客户端先请求连接服务器服务器接受连接请求然后双方才可以通信。在 UDP 协议里客户端只需要知道服务器的地址和端口号就可以直接发送数据了。 我们来看下 UDP 传输的流程图 TCP服务器的建立可以归纳这几步 创建 socket套接字 绑定 socket 的 IP 地址和端口号 接收客户端数据 关闭连接 TCP客户端的创建可总结为这几步 创建 socket套接字 向服务器发送数据 关闭连接 这里需要注意的是 UDP 客户端连接到服务器的 IP 和端口号必须是 UDP 服务器的 IP 和监听的端口号服务器服务器只需要绑定 IP 和端口号就可以时刻准备接收客户端发送的数据此时服务器处于阻塞状态直到接收到数据为止。 UDP 客户端 创建 socket可以这样做 # 导入socket库import socket# 创建一个sockets socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 创建 socket 时第一个参数 socket.AF_INET 表示指定使用 IPv4 协议如果要使用 IPv6 协议就指定为 socket.AF_INET6。SOCK_DGRAM 指定基于 UDP 的数据报式 Socket 通信。 创建了 socket 之后我们就可以向目标地址发送数据报了​​​​​​​ # 发送数据s.sendto(bHello Server, (127.0.0.1, 6000)) 第一个参数是需要发送的数据报内容第二个参数是 IP 地址和端口号的二元组。 如果是接收数据的话我们可以这样写​​​​​​​ # 接收数据data, addr s.recv(1024)# 解码接收到的数据data data.decode(utf-8) 接收信息的时候第一个 data 表示接收到的数据 addr 是对方的 IP 地址和端口号的二元组。 想要关闭 socket直接调用 close() 方法即可​​​​​​​ # 关闭 socketsocket.close() UDP 服务器 相比于客户端服务器端只是多了一个步骤在创建 socket 之后需要绑定一个 IP 地址和端口号以便接收客户端随时可能发送过来的数据。绑定的方法为​​​​​​​ # 绑定 IP 和端口s.bind((127.0.0.1, 6000)) UDP 简单实例 我们通过一个简单的实例来体会下 UDP 的客户端和服务器的通信流程。 服务器代码为​​​​​​​ import socket# 创建 socketsk socket.socket(socket.AF_INET, socket.SOCK_DGRAM)# 绑定 IP 和端口号sk.bind((127.0.0.1, 6000))while True: # 接收数据报 msg, addr sk.recvfrom(1024) # 打印 print(来自[%s:%s]的消息: %s % (addr[0], addr[1], msg.decode(utf-8))) # 等待输入 inp input() # 发送数据报 sk.sendto(inp.encode(utf-8), addr)# 关闭 socketsk.close() 这里我们先创建 socket然后绑定本机的6000端口然后等待接收客户端发送的数据报接收到数据后将数据内容打印在控制台。然后可以在控制台输入回复内容发送给客户端。 客户端代码​​​​​​​ import socket# 创建 socketsk socket.socket(socket.AF_INET, socket.SOCK_DGRAM)addr (127.0.0.1, 6000)while True: # 等待输入 msg input() # 发送数据报 sk.sendto(msg.encode(utf-8), addr) # 接收数据报 msg_recv, addr sk.recvfrom(1024) # 打印 print(msg_recv.decode(utf-8))# 关闭 socketsk.close() 在客户端代码中我们就只是创建 socket然后在控制台输入需要向服务器发送的内容通过 sentto() 方法发送给服务器然后接收服务器返回的内容将接收的内容打印到控制台。 分别运行客户端和服务器代码然后我们在客户端的控制台输入 “hello server”我们可以看到服务器的控制台打印了客户端发送的内容然后我们在服务器控制台输入 “hello client”同样在客户端控制台可以看你到内容。 下面是客户端的控制台内容​​​​​​​ hello serverhello client 下面是服务器的控制台内容​​​​​​​ 来自[127.0.0.1:61207]的消息: hello serverhello client 这个实例其实就是一个简单的聊天模型客户端和服务器就像两个人一样可以发送和接收对方的信息。 那么多人群聊怎么实现呢简单来说我们需要设置一台中心服务器我们每个人发送的内容都先发送到中心服务器然后中心服务器再转发到每个群聊的人。 总结 本文为大家介绍了 UDP 编程的基本原理以及通过 Python 实现一个最简单的聊天程序来模拟 UDP 通信的过程。通过本文的学习我们需要对 UDP 协议有基本的认识以及对 UDP 的通信过程比较熟悉。
http://www.hkea.cn/news/14404620/

相关文章:

  • 易语言可以做api网站对接吗辽宁建设工程信息网项目经理变更
  • 上传网站到百度wordpress seo 主题
  • 藤县建设局网站做兼职什么网站比较好
  • 吉安市建设局施工管理站网站灌云县城乡建设局网站
  • 网站项目建设人员规划wordpress easy stmp
  • 信阳公司网站建设做无障碍浏览网站
  • 徐州丰县建设局网站中信建设有限责任公司项目人员配置
  • 解析网站dns自己做网站和推广
  • 漯河市源汇区网站建设软件开发属于什么专业
  • 做网站小代码大全网站源码如何保存
  • 电子商务网站建设试卷及答案专业外贸网站建设公司价格
  • 怎么写网站建设宣传家乡的网站
  • 二七区建设局网站wordpress可以做电影站
  • 深圳博纳网站建设英迈寰球网站建设
  • 石家网站建设公司排名网站建设 局部放大镜功能
  • 网站仿站大多少钱wordpress页面跳转失败
  • 无线网站制作有哪些做网站好的公司
  • 企业营销策划实现的途径上海市网站seo公司
  • 有哪些做的好看的网站吗做seo网站空间
  • 网站推广是什么杭州seo公司排名
  • p2p提供网站建设违法百度一下官方网
  • wordpress 栏目菜单做网站seo的步骤
  • 莱阳网站建设公司杭州网络营销公司
  • 网站建设和网站推广网站标题title
  • 做网站服装app网络销售推广平台
  • 苏州市吴中区建设局网站wordpress 文章 二维码
  • 网站正在建设中请稍后介绍自己的家乡遵义网站建设
  • 专业商城网站设计wordpress if
  • 网站建设交流平台seo系统培训哪家好
  • 四川省住房和城乡建设厅网站下载怎么在百度做广告