美文网首页
udp的端口绑定问题

udp的端口绑定问题

作者: furuiyang | 来源:发表于2018-04-23 22:29 被阅读0次

当我们多次运行发送和接收数据的udp脚本,在网络调试助手中可以看到每次运行服务器的端口都不一样。


44.png

说明

每重新运行一次网络程序,上图中红圈中的数字,不一样的原因在于,这个数字标识这个网络程序,当重新运行时,如果没有确定到底用哪个,系统默认会随机分配。
记住一点:这个网络程序在运行的过程中,这个就唯一标识这个程序,所以如果其他电脑上的网络程序如果想要向此程序发送数据,那么就需要向这个数字(即端口)标识的程序发送即可。

udp绑定信息

一般情况下,在一台电脑上运行的网络程序有很多,为了不与其他的网络程序占用同一个端口号,往往在编程中,udp的端口号一般不绑定。
但是如果需要做成一个服务器端的程序的话,是需要绑定的。

想想看这是为什么?
如果报警电话每天都在变,想必世界就会乱了,所以一般服务性的程序,往往需要一个固定的端口号,这就是所谓的端口绑定。

绑定端口的实例代码

# coding:utf-8
from socket import *
# 1 创建udp套接字
udp_socket = socket(AF_INET,SOCK_DGRAM)
# 2 绑定本地的相关信息 如果一个网络程序不绑定 则系统会随机分配
# ip和端口地址 ip一般不用写 表示本机的任何一个ip
local_addr = ('',7788)
udp_socket.bind(local_addr)
# 3 等待接收对方发送的数据 1024表示本次接收的最大字节数
recv_data = udp_socket.recvfrom(1024)
# 4 显示对方发送的数据
print(recv_data[0].decode('gbk'))
# 5 关闭套接字
udp_socket.close()
55.png

总结

一个udp网络程序,可以不绑定,此时操作系统会随机进行分配一个端口,如果重新运行此程序端口可能会发生变化。
一个udp网络程序,也可以绑定信息(ip地址,端口号),如果绑定成功,那么操作系统用这个端口号来进行区别收到的网络数据是否是此进程的。

相关文章

  • udp的端口绑定问题

    当我们多次运行发送和接收数据的udp脚本,在网络调试助手中可以看到每次运行服务器的端口都不一样。 说明 每重新运行...

  • 5.udp绑定端口

    udp绑定信息 1. udp网络程序-端口问题 会变的端口号 重新运行多次脚本,然后在“网络调试助手”中,看到的现...

  • 网络编程之UDP套接字编程

    UDP套接字服务端 创建UDP数据报套接字 绑定服务端地址(本机的IP和端口号) 消息的收发 关闭套接字 UDP套...

  • OSI传输层中的TCP和UDP

    UDP和TCP都属于Socket协议。 UDP的特点: 1、每一次发送数据都需要绑定IP和端口号。相当于发送邮件,...

  • DHCP服务

    使用端口:server端:udp 67端口client端: udp 68端口 定义服务使用的端口及协议的文件:/e...

  • UDP数据包的简单分析

    UDP报文头 UDP的报文头结构比较简单。 源端口:16位,标识本地端口 目的端口:16位,标识目标端口 总长度:...

  • nc命令检查udp端口是否可以连接

    UDP packet sent successfully 证明udp端口是通的

  • 测试udp端口

    业务需要测试udp端口,之前只用telnet测试过tcp的,就研究了下怎么测试udp的 mac上测试udp端口 需...

  • 趣谈网络协议听课笔记

    TCP/UDP处于运输层 UDP UDP报文比较简单:主要包含有源端口号和目的端口号。从而也看出UDP简单粗暴,只...

  • TCP 与 UDP

    TCP 与 UDP(主要说TCP)TCP/UDP端口号TCP/UDP端口号TCP连接的建立TCP连接的建立发送se...

网友评论

      本文标题:udp的端口绑定问题

      本文链接:https://www.haomeiwen.com/subject/ejerlftx.html