网络协议UDP

------------------------------互联网协议与协议族------------------------------
tcp/ip协议介绍:计算机网络协议,不同类型不同厂家之间的终端进行沟通,规范协议

互联网协议族:为tcp/ip协议族 大概有上百种协议,其中tcp协议、ip协议使用的比较

多所以大家默认成为tcp/ip

IP地址:网络地址(ip地址与子网掩码进行与运算获得)和主机地址
A类IP地址:由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”

(地址范围1.0.0.1-126.255.255.254)
B类IP地址:由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是

“10”(128.1.0.1-191.255.255.254)
C类IP地址:由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须

是“110”(范围192.0.1.1-223.255.255.254)

------------------------------socket介绍------------------------------
#定义:socket(简称 套接字) 是进程间通信的一种方式,它与其他进程间通信的一个主

要不同是:

#import socket:应用socket包
#socket.socket(Address Family,Type):创建一个套接字,返回socket的描述符
Address Family:可以选择 AF_INET(用于 Internet 进程间通信) 或者

AF_UNIX(用于同一台机器进程间通信),实际工作中常用AF_INET
Type:套接字类型,可以是 SOCKET_STREAM(流式套接字,主要用于 TCP 协议

)或者 SOCKET_DGRAM(数据报套接字,主要用于 UDP 协议)

------------------------------udp协议------------------------------
upd协议:快速传播数据,但不太安全。19世界70年代

#udpSocket = socket(AF_INET, SOCK_DGRAM):创建套接字

#sendData = raw_input("请输入要发送的数据:"):从键盘获取数据

#sendAddr = (‘192.168.1.103‘, 8080):准备接收方的地址

#bindAddr = (‘‘, 7788) # ip地址和端口号,ip一般不用写,表示本机的任何一个ip
#udpSocket.bind(bindAddr)# 绑定本地的相关信息,如果一个网络程序不绑定,则系统

会随机分配

#udpSocket.sendto(sendData, sendAddr):发送数据到指定的电脑上

#recvData=udpSocket.recvfrom(1024):接收数据,1024表示本次接收的最大字节数

#udpSocket.close():关闭套接字

------------------------------编写案例------------------------------

 1 #coding=utf-8
 2
 3 #引用对应的包
 4 import socket
 5
 6 import threading
 7
 8 import sys
 9
10 #全局变量socket
11 global_soc=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
12
13 #线程:信息接受
14 class MyThreadJieShou(threading.Thread):
15     #重写构造函数
16     def __init__(self,port):
17         threading.Thread.__init__(self)
18         #进程端口
19         self.port=int(port)
20
21     #重写run方法
22     def run(self):
23         #socket全局变量
24         global global_soc
25
26         #创建ip和端口号
27         self.locker=("",self.port)
28
29         global_soc.bind(self.locker)
30
31         while True:
32             self.result=global_soc.recvfrom(1024)
33             print ("\n")
34             print (self.result)
35
36         global_soc.close()
37
38 #线程:信息发送
39 class MyThreadFaSong(threading.Thread):
40     #重写run方法
41     def run(self):
42         #全局变量socket
43         global global_soc
44
45         #创建发送的目标端口号
46         addr=("192.168.13.33",8080)
47
48         while True:
49             strCount=raw_input("请输入:")
50
51             #信息的发送
52             global_soc.sendto(strCount,addr)
53
54         global_soc.close()
55
56
57 if __name__=="__main__":
58     #创建对应的线程
59     jieShou=MyThreadJieShou(sys.argv[1])
60     faSong=MyThreadFaSong()
61
62     #进程开启
63     jieShou.start()
64     faSong.start()
时间: 2024-10-20 09:27:33

网络协议UDP的相关文章

【网络协议】UDP协议

UDP是一个简单的面向数据报的运输层协议:进程的每个输出操作都会产生一个UDP数据报,并组装成一份待发送的IP数据报,这与面向字符流的协议不同,如TCP,应用程序产生的全体数据与真正发送的单个IP数据报可能没有什么联系(主要是在传输层就进行分段了,因此不会受IP分片的影响). UDP的首部一共8个字节,很简单,可以参考书上,这里也不再详说. UDP的校验和 至于UDP的校验和,这里注意下区别就好了,UDP对首部和数据部分都进行校验,而IP首部的校验和仅对IP的首部进行校验,顺带提下TCP,TCP

网络协议之UDP

前言 TCP协议在不可靠的网络环境上提供了可靠的通信通道,隐藏了大量的底层细节,使应用程序更加简洁.但有些应用并不需要这么高的可靠性,并不需要按序交付,而且TCP为了提高可靠性也增加了延时,在某些对延时或抖动要求很高的情景下并不适用.为此,UDP(User Datagram Protocol,用户数据报协议)被提出.UDP虽然应用较为广泛,比如DNS查询等,但一直不是重要的角色.自从WebRTC被提出以来,它可以使浏览器在UDP的基础上实现原生的语音和视频实时通信及其他形式的P2P通信,UDP在

服务器租用---常用网络协议:TCP和UDP的区别简析

服务器租用---常用网络协议:TCP和UDP的区别简析及TCP与UDP区别 TCP---传输控制协议,提供的是面向连接.可靠的字节流服务.当客户和服务器彼此交换数据前,必须先在双方之间建立 一个TCP连接,之后才能传输数据.TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一 端传到另一端. UDP---用户数据报协议,是一个简单的面向数据报的运输层协议.UDP不提供可靠性,它只是把应用程序传给IP层的 数据报发送出去,但是并不能保证它们能到达目的地.由于UDP在传输数据报

网络 基于UDP协议的socket编程

一.UDP协议        UDP协议的特点:用户数据包协议             1.UDP协议是无连接的.也就说在数据发送之前并不需要建立连接(当然,在发送数据结束的时候也就不存在链接的释放),因此减少了开销和数据发送之前的时延.             2.UDP使用尽最大努力的交付,但是不保证可靠性的交付,因此主机不需要维持复杂的链接状态表.(网上的的可靠性建立在应答的基础上,不提供可靠性交付,即不需要应答,因此不需要维护状态表)             3.UDP是面向报文.发送方

[转]【网络协议】TCP分段与UDP/IP分片 (MTU最大传输单元,MSS最大分段大小)

我们在学习TCP/IP协议时都知道,TCP报文段如果很长的话,会在发送时发生分段,在接受时进行重组,同样IP数据报在长度超过一定值时也会发生分片,在接收端再将分片重组. 我们先来看两个与TCP报文段分段和IP数据报分片密切相关的概念. MTU(最大传输单元) MTU前面已经说过了,是链路层中的网络对数据帧的一个限制,依然以以太网为例,MTU为1500个字节.一个IP数据报在以太网中 传输,如果它的长度大于该MTU值,就要进行分片传输,使得每片数据报的长度小于MTU.分片传输的IP数据报不一定按序

看江湖老炮用尽洪荒之力解读网络协议(下)

作者言:老炮总结的有些协议比喻也不是很恰当,毕竟网络协议是一门科学,而江湖规矩是口口相传的道义:如果把此文当成一份凉菜,"老炮如是说"的话语只能做为一点调味,具体调的好不好,老炮也恍惚,老炮只是用心在调,咸了淡了您多包涵,欢迎品尝.上篇叙述了网络协议的上三路,本篇介绍网络协议的下四路.下面看一位老炮如何解读这些网络协议(下)传输层传输层是整个协议层次结构的核心,是惟一负责总体数据传输和控制的一层.它属于OSI模型7层的中间层,网络层只是根据网络地址将源结点发出的数据包传送到目的结点,而

linux 网络协议分析---3

本章节主要介绍linxu网络模型.以及常用的网络协议分析以太网协议.IP协议.TCP协议.UDP协议 一.网络模型 TCP/IP分层模型的四个协议层分别完成以下的功能: 第一层 网络接口层 网络接口层包括用于协作IP数据在已有网络介质上传输的协议.实际上TCP/IP标准并不定义与ISO数据链路层和物理层相对应的功能.相反,它定义像 地址解析协议(Address Resolution Protocol,ARP)这样的协议,提供TCP/IP协议的数据结构和实际物理硬件之间的接口. 第二层 网间层 网

网络协议

计算机各层网络协议 应用层: (典型设备:应用程序,如FTP,SMTP ,HTTP) DHCP(Dynamic Host Configuration Protocol)动态主机分配协议,使用 UDP 协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配 IP 地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段.实 现即插即用连网. BOOTP (BOOTstrapProtocol) 引导程序协议/ 自举协议,使用UDP 来使 一个无盘工作站自动获取配置信息.静态的配置协议  

TCP/IP网络协议

什么是协议?协议就是双方约定的规则.同理,在网络中,计算机之间的相互通信需要共同遵守一定的规则,这些规则就称为网络协议. 下面是我百度的定义: TCP/IP是“transmission Control Protocol/Internet Protocol”的简写,中文译名为传输控制协议/互联网络协议)协议, TCP/IP(传输控制协议/网间协议)是一种网络通信协议,它规范了网络上的所有通信设备,尤其是一个主机与另一个主机之间的数据往来格式以及传送方式.TCP/IP是INTERNET的基础协议,也