udp聊天器

import socket
"""导入套接字模块"""


def menu():
    """显示菜单"""
    print("$" * 50)
    print("[1].发送信息")
    print("[2].接受信息")
    print("[3].退出聊天")
    print("$" * 50)


def send_data(udp_socket):
    """发送消息"""
    data = input("请输入消息:")
    ip = input("请输入ip地址:")
    port = int(input("请输入端口号:"))
    udp_socket.sendto(data.encode("gbk"), (ip, port))


def recv_data(udp_socket):
    """接受消息"""
    data, remote_adress = udp_socket.recvfrom(4396)
    print("收到了来自%s的信息:%s" % (str(remote_adress), data.decode("gbk")))


def main():
    # 创建套接字
    udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    # 绑定端口
    udp_socket.bind(('', 4397))
    while True:
        # 显示菜单
        menu()
        op = input("请输入")
        if op == "1":
            send_data(udp_socket)
        elif op == "2":
            recv_data(udp_socket)
        elif op == "3":
            break
        else:
            print("error")
    # 关闭套接字
    udp_socket.close()

if __name__ == '__main__':
    main()
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值