ubuntu下使用python进行简单的UDP通信


一、参考链接

Ubuntu下网络调试助手 NetAssist
使用python实现UDP通信
python代码实现简单的udp通信


二、主要工作

1.查看本机ip

#下载一个工具
sudo apt install net-tools

#查看ip
ifconfig

在这里插入图片描述
查看得本机ip为192.168.1.7

2.下载Ubuntu下网络调试助手 NetAssist

下载地址:
链接:https://pan.baidu.com/s/1BroDliYRitu6OWoNWR0BTA
提取码:gpza
下载完了双击直接安装

3.编写一个python脚本测试UDP通信

UDP_text1.py

# -*- coding:UTF-8 -*-
import socket

#  使用udp收发数据
def main():
    #  1.创建socket套接字
    udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)  # AF_INET表示使用ipv4,默认不变,SOCK_DGRAM表示使用UDP通信协议
        
    #  2.绑定端口port
    local_addr = ("192.168.1.7", 7878)  # 本地ip,指定端口号7878
    udp_socket.bind(local_addr)  # 绑定端口
        
    #  3.收发数据
    send_data = input("请输入您想要发送的数据:" )
    udp_socket.sendto(send_data.encode("utf-8"), ("192.168.1.5", 8080))  # 编码成全球统一数据格式,用元组表示接收方ip和port
    recv_data = udp_socket.recvfrom(1024)  # 定义单次最大接收字节数
        
    #  4.打印数据
    recv_msg = recv_data[0]  # 接收的元组形式的数据有两个元素,第一个为发送信息
    send_addr = recv_data[1]  # 元组第二个元素为发信息方的ip以及port
    print ("收到的信息为:", recv_msg.decode("gbk"))  # 默认从windows发出的数据解码要用”gbk”,保证中文不乱码
    print ("发送方地址为:", str(send_addr))  # 强转为字符串输出地址,保证不乱码

    #  5.关闭套接字
    udp_socket.close()

if __name__ == "__main__":
    main()

4.测试简单的UDP通信

使用python3 UDP_text1.py运行该脚本后如下图所示
在这里插入图片描述
用另一台电脑打开网络调试助手,按照python脚本里面的填写的ip和端口号设置本地ip、端口号和目标ip、端口号,然后点击连接网络
在这里插入图片描述
在python脚本这边输入需要发送的数据,点击回车
在这里插入图片描述
在另一台电脑上的网络调试助手接收到了
在这里插入图片描述
在另一台电脑上的网络调试助手上发送数据
在这里插入图片描述
在python脚本这边也接收到了
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_60355964/article/details/130824275