Python语言实现UDP协议实现网络与进程间通信

关于UDP协议,实际是不怎么用的,总归是个知识点!
每台计算机都有自己的本地消息循环网卡,地址统一为127.0.0.1,利用这个在下方实现局域网内部消息收发的时候,将发送方IP修改为自己的IP或者是127.0.0.1,即可实现本地接收!
下方是代码!

注意:没有加入多线程,因此程序必须遵守一次性收发!可自行更改!

from socket import *


def recv_message(udp_socket):
    """消息接收函数"""
    msg, opposite_addr = udp_socket.recvfrom(1024)
    print(msg.decode("utf-8"))  # 解码打印
    print("%s:%d" % (opposite_addr[0], opposite_addr[1]))  # 多此一举,既然定义了就用了


def send_message(udp_socket):
    """消息发送函数"""
    # 键盘获取内容转为GBK格式,UTF-8在windows此处不适用
    udp_socket.sendto(input("Send Content:").encode("gbk"), ("192.168.31.190", 8080))


def main_page():
    """功能选择页面"""
    print("Option Function:")
    print("1.Send Message")
    print("2.Receive Message")
    print("0.EXIT")


def main():
    udp_socket = socket(AF_INET, SOCK_DGRAM)  # 创建套接字
    udp_socket.bind(("", 8088))  # 绑定IP与端口

    # 循环页面
    while True:
        main_page()
        opt = int(input("Option:"))
        if opt == 1:
            send_message(udp_socket)
        elif opt == 2:
            recv_message(udp_socket)
        elif opt == 0:
            break
        else:
            print("Input Error!")

    # 关闭套接字
    udp_socket.close()


if __name__ == '__main__':
    main()

实验图:在这里插入图片描述
需要注意的是网络调试助手有的不支持127.0.0.1,程序接收不到,这是助手的bug,可以自行开启一个接收一个发送进行测试!

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我姥爷是校长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值