网络测试小助手完成套接字的创建使用过程分析

描述

套接字

一、网络中如何进行通信?

首要解决的问题是如何标识一个进程,否则通信无从谈起。

其实TCP、IP协议族已经帮我们解决了这个问题,网络层的IP地址可以唯一标识网络中的主机,传输层的“协议+端口”可以唯一标识主机中的应用程序(进行)。

二、套接字

socket(简称套接字)是进程间通信的一种方式。它与其他进程间通信的一个主要不同是,它能实现不同主机间的进程通信,我们网络上各种各样的服务大多是基于socket来完成通信的。例如我们每天浏览网页、qq聊天、收发email等等。

socket方法有两个参数:

① address family:可以选择

AF_INET

(用于internet进程间通信)或者

AF_UNIX

(用于同一台机器进程间通信),实际工作中常用AF_INET;② Type:套接字类型,可以是

SOCK_STREAM

(流式套接字,主要用于TCP协议)或者

SOCK_DGRAM

(数据包套接字,主要用于UDP协议)

创建套接字:

UDP协议

UDP协议

一、UDP协议介绍

UDP----用户数据报协议,是一个无连接的简单地面向数据报的传输层协议。无连接指的是单方面的,就好比寄信和打电话,寄出去的信件可能在中途丢失,但是打电话不会,建立了连接就可以通话,没建立连接无法传输信息。

UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证他们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个链接,且没有超时重发等机制,故而传输速度很快。

UDP是一种面向无连接的协议,每个数据报都是一个独立的信息,包括完整的源地址或目的地址,它在网络上以任何可能的路径传往目的地,因此能否到达目的地,到达目的地的时间以及内容的正确性都是不能保证的。

特点(了解):UDP是面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。UDP传输数据时有大小限制,每个被传输的数据报必须限定在64KB之内。UDP是一个不可靠的协议,发送方所发送的数据报并不一定以相同的次序到达接收方。

适用情况:

UDP是面向消息的协议,通信时不需要建立连接,数据的传输自然是不可靠的,UDP一般用于多点通信和实时的数据业务,比如:

语音广播 

视频

qq

TFTP(简单文件传送)

SNMP(简单网络管理协议)

RIP(路由信息协议,如报告股票市场,航空信息)

DNS(域名解析)

注重速度流畅udp操作简单,而且仅需要较少的监护,因此通常用于局域网高可靠性的分散系统中clientserver应用程序。例如视频会议系统,并不要求音频视频数据绝对的正确,只要保证连贯性就可以了,这种情况下显然使用UDP会更合理一些。

二、网络调试助手

接下来我们需要借助网络测试小助手来完成套接字的创建使用过程:

UDP协议

三、示例

udp网络程序-发送数据:①创建套接字;②发送、接收数据;③关闭套接字。

UDP协议

我们点击运行程序之后,先不要输入信息,打开网络调试助手,进行连接。

UDP协议

输入你好!我们就可以在网络测试助手上收到消息。

UDP协议UDP协议

这次在网络测试助手上发送消息:你是GG还是MM?

UDP协议UDP协议UDP协议

这是两次print不同的表达结果。

UDP协议

其实,使用from socket import *会在创建套接字的时候使代码显得更加简洁凝练,因为它导入了所有功能。

UDP协议


四、UDP网络通信过程

UDP协议
 

和快递原理是差不多的。



审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分