|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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:;
|
-
网络调试助手界面
-
虚拟机本机发送数据给自己
|