python-udp聊天室

代码如下:

import socket

def send_msg(udp_socket):
    """发送信息"""
    dest_ip = input('请输入对方的ip:')
    dest_port = int(input('请输入对方的端口:'))
    send_data = input('请输入要发送的信息:')
    udp_socket.sendto(send_data.encode('utf-8'),(dest_ip,dest_port))

def recv_msg(udp_socket):
    """接收信息"""
    recv_date = udp_socket.recvfrom(1024)
    recv_msg = recv_date[0]
    recv_addr = recv_date[1][0]
    recv_port = recv_date[1][1]
    print("从%s:%s接受的数据:%s" % (recv_addr, recv_port, recv_msg.decode('gbk')))
def main():
    #创建套接字
    udp_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    #绑定信息
    udp_socket.bind(('',9999))
    while True:
        print('-----upd半双工聊天室------')
        print('1.发送信息')
        print('2.接收信息')
        print('0退出系统')
        option = input('请输入功能:')
        if option == "1":
            #发送信息
            send_msg(udp_socket)
        elif option == "2":
            #接收信息
            recv_msg(udp_socket)
        elif option == "0":
            break
        else:
            print("error 输入有误")


if __name__ == '__main__':
    main()

程序采用了半双工的形式进行通讯,借用了网络调试助手进行了测试:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值