<tbody> <tr> <td id="artContent" style="max-width: 656px;"> <div style="width: 656px; margin: 0; padding: 0; height: 0;"></div> <div style="margin-top: 40px;"><span style="position:absolute;left:60px;width:30px;line-height:30px;cursor:pointer;text-align:center;color:#fff;border-radius:3px;font-size:18px;font-weight:bold;user-select:none;">+</span><h5 style="cursor:pointer;background:#6fa8dc;padding:0 10px;margin-bottom:20px;user-select:none;color:#fff;border-radius:3px;">目录</h5></div>
讯享网
1.打开虚拟通信程序,选择UDP通信并选定收发数据的ip地址和port端口:
2.在虚拟机中编写python程序与主机中的虚拟通信程序实现数据传输:
网络中进程之间如何通信
1,在本地可以通过进程PID来唯一标识一个进程,但是在网络中这是行不通的。
2,TCP/IP协议族已经帮我们解决了这个问题,即:网络层的ip地址可以唯一标识网络中的主机;而传输层的:协议+端口,可以唯一标识主机中的应用程序(进程)。
3,利用ip地址,协议,端口,就可以标识网络的进程了,网络中的进程通信就可以利用这个标识与其他进程进行交互。
什么是Socket?
socket,简称:套接字,是进程间通信的一种方式。socket与其他进程间的通信方式不同在于:它能实现不同主机间的进程间通信。例如:聊天、浏览网页、收发Email等等。
创建Socket
在Python中socket模块的函数socket:
加以说明:
函数socket.socket创建一个socket,返回一个socket。
AddressFamily:选择AF_INET用于网络中进程间通信或者AF_UNIX用于同一台机器进程间通信,实际工作中常用AF_INET。
Type:套接字类型,可以是SOCK_STREAM,流式套接字,主要用于tcp协议或者SOCK_DGRAM,数据报套接字,主要用于udp协议。
UDP:用户数据报协议,是一个无连接的简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。

UDP:是一种面向无连接的协议,每个数据报都是一个独立的信息,包括完整的源地址或目的地址,它在网络上以任何可能的路径传往目的地,因此能否到达目的地,到达目的地的时间以及内容的正确性都是不能被保证的
UDP是面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。
UDP传输数据时有大小限制,每个被传输的数据报必须限定在64KB之内。
UDP是一个不可靠的协议,发送方所发送的数据报并不一定以相同的次序到达接收方。
UDP一般用于多点通信和实时的数据业务。例如:语音广播、、视频会议系统等。
UDP中客户端和服务器端交互

服务器端具体实现代码如下:
echo服务器端具体实现代码如下:
客户端具体实现代码如下:
绑定端口的说明:
1,一般情况下,在电脑上运行的网络程序有很多,而各自用的端口号很多情况下不知道,为了不与其他的网络程序占用同一个端口号,往往在编程中,udp的端口号一般不绑定。但是如果需要做成一个服务器端的程序的话,是需要绑定的。
2,一个udp网络程序,可以不绑定端口,此时操作系统会随机进行分配一个端口,如果重新运行此程序,端口可能会发生变化。
3,一个udp网络程序,也可以绑定信息(ip地址,端口号),如果绑定成功,那么操作系统用这个端口号来进行区分收到的网络数据是否是此进程的。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
讯享网 <div> <b></b><ul><li></li></ul> </div> </td> </tr> </tbody>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/185011.html