python中UDP通信协议

来源:互联网 发布:ftp 默认端口 编辑:程序博客网 时间:2024/06/05 10:02
UDP通信协议搭建

重点1:
1.IP地址:标识主机
2.分类:公有类abcde私有类
3.构成:网络号和主机号
4.回路测试
127.0.0.1(回路本机)~127.255.255.255

5.DNS域名解析服务器 域名baidu.com------->IP
6.IPv4 由4个字节构成
IPv6 由8个字节构成

重点2:
1.端口:标识主机上的应用程序
2.分类:
知名端口http 80  ssh 22 ftp 21
动态端口 用应用程序临时申请,主机随机分配

重点3
socket:套接字(通讯协议)网络通讯的前提是要有一对socket
socket  就是用一套函数接口,API
创建socket
  •   import socket
    • socket.socket(AddressFamily,Type)
    • AddressFamily = IPv4或IPv6(AF_INET,AF_INET6)
  • Type = SOCK_DGRAM(UDP套接字类型)
    • Type = SOCK_STREAM(TCP套接字类型)
  • 注意:python转码器
    • str-->bytes:encode编码格式:s.encode(encoding=“utf-8”)/s.encode()有返回值
    • bytes-->str:decode解码格式:b.decode()
    • 特点:解码时使用的编码方案是一致的(“gbk”)有返回
  • 发送函数:套接字名.sendto
    • socket.sendto(数据(byte),(收件人ip,端口))
    • #ip为str,加引号,端口为整数,格式为元组.
    • socket.sendto( 数据.encode((“IP”,端口)          
  • 接受函数:套接字名.recvfrom
    • socket.recvfrom(数据(byte),(“IP”,端口))  可以用俩个变量接
    • ex:recv_date,recv_addr = 套接字名.recvfrom()
  • 锁定端口:套接字名.bind()
    • 函数参数("IP",端口)
    • 绑定是本地地址
    • IP为“”,表示绑定本地所有IP
    • socket.bind( ("",固定端口号))#特点:元组格式
UDP特点:不分发送先后顺序,可能出现数据丢失
广播设置:在发送函数ip地址参数最后为写入255
                

         
原创粉丝点击