马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
请大佬指点迷津:
我在测试Ubuntu虚拟机向Windows主机以UDP协议发送数据,同时在Windows端打开了 网络调试助手 ,却怎么也无法接收到来自虚拟机的信息。
后来我在虚拟机上也安装了 网络调试助手 并向虚拟机自身发送数据,这些数据却能被准确的捕获,这是为什么?是网络问题吗?
javascript:;
以下是发送代码,注意是Python代码
该代码的ip地址是虚拟机自身的IP地址
"""
1.倒入模块
2.创建套接字
3.发送数据
4.接收数据(二进制)
5.解码数据,得到字符串
6.输出接受的内容
7.关闭套接字
"""
# 1.倒入模块
import socket
# 2.创建套接字
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 3.发送数据
udp_socket.sendto("约吗?".encode(), ("192.168.0.105", 8080))
# 4.接收数据(二进制)
# recvfrom(1024) 作用:
# 从套接字中接受1024个字节的数据
recv_data = udp_socket.recvfrom(1024)
# recv_data[0] 接收到的数据二进制格式
# recv_data[1] 对方的ip和端口
print(recv_data[0])
# 5.解码数据,得到字符串
recv_text = recv_data[0].decode("UTF-8")
# 6.输出接受的内容
print("来自:", recv_data[1], "的消息:", recv_text)
# 7.关闭套接字
udp_socket.close()
javascript:;
|