# 创建套接字,AF_INET表示ipv4类型,SOCK.DGRAM表示udp传输协议
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 准备发送的内容,因为我的网络调试助手安装在Windows上,所以使用gbk编码,
# 我这里端口号设置为:3355
udp_socket.sendto("这是发送的数据内容".encode("gbk"), ("192.168.**.**", 3355))
# 接收数据,接收的最大字节为1024
my_recv, my_port = udp_socket.recvfrom(1024)
# 对二进制数据进行解码
my_recv1 = my_recv.decode("gbk")
#显示接收到的数据
print(my_recv1, my_port, sep="---")
# 关闭套接字
udp_socket.close()
2.网络调试助手配置
3.网络通信的流程
①对方的IP地址
②应用程序的端口号
③数据传输协议(UDP)
④使用socket收发数据
目录1.发送与接收数据代码2.网络调试助手配置 3.网络通信的流程1.发送与接收数据代码# 导入socket模块import socket# 判断程序入口if __name__ == '__main__': # 创建套接字,AF_INET表示ipv4类型,SOCK.DGRAM表示udp传输协议 udp_socket = socket.socket(s...
UDP
是面向无连接的通讯
协议
,
UDP
数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。
UDP
传输数据
时有大小限制,每个被传输的数据报必须限定在64KB之内。
UDP
是一个不可靠的
协议
,发送方所发送的数据报并不一定以相同的次序到达接收方。
udp
通信模型中,在通信开始之前,不需要建立相关的链接,只需要发送数据即可,类似于生活中,”写信”。
from socket import socket,AF_INET,SOCK_DGRAM
# 创建套接字,SOCK_DGRAM
使用
udp
协议
udp
= socket(AF_INET, SOCK_DGRAM)
count = 0
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
server_addr = ('127.0.0.1',9999)
s.bind(server_addr)
print('Bind
UDP
on 9999...')
while True:
if count == 0:
data,client_addr = s.recvfrom(1024)
print('conne
网络
调试
助手
是集TCP/
UDP
服务端客户端一体的
网络
调试
工具,可以帮助
网络
应用设计、开发、测试人员检查所开发的
网络
应用软硬件的数据收发状况,提高开发的速度,是TCP/
UDP
应用开发
助手
。
实全
网络
调试
助手
是基于.net C# Socket 开发的
网络
调试
工具,实现TCP Server、TCP Client、
UDP
的连接通信,字符串和HEX数据收发功能。Socket即
网络
套接字,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作。
2、
UDP
通信
UDP
是一个
def
udp
_debugger(host, port):
# 创建
UDP
套接字
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定本地地址和端口
sock.bind((host, port))
print(f"
UDP
Debugger started on {host}:{port}")
while True:
# 接收数据
data, addr = sock.recvfrom(1024)
# 打印接收到的数据
print(f"Received {len(data)} bytes from {addr[0]}:{addr[1]}")
print(data)
# 发送数据
sock.sendto(data, addr)
if __name__ == "__main__":
udp
_debugger("localhost", 8000)
这个程序会创建一个
UDP
套接字,绑定到本地地址和端口,然后循环接收数据并打印出来,再将接收到的数据原封不动地发送回去。这样就可以用它来
调试
UDP
网络
应用程序了。
请问还有什么问题吗?