基于UDP的Socket 制作简易聊天室

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

import socket
import time

def send_msg(udp_socket):
    '''
    发送数据
    '''
    msg = input('请输入要发送的数据:\n')
    dest_ip = input('请输入对方的ip地址:\n')
    dest_port = int(input('请输入对方端口号:\n'))
    udp_socket.sendto(msg.encode('utf-8'),(dest_ip,dest_port))



def resv_msg(udp_socket):
    '''
    接收数据
    '''
    # 接收的最大字节
    msg = udp_socket.recvfrom(1024)
    # 解码
    recv_ip = msg[1]
    recv_msg = msg[0].decode('utf-8')
    print('{}:{}'.format(recv_ip,recv_msg))





def main():
    '''
    创建UDP套接字
    '''
    udp_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    '''
    绑定本地信息
    '''
    udp_socket.bind(('172.20.10.13',7890))
    while True:
        print('='*30)
        print('1:发送数据')
        print('2:接收数据')
        print('='*30)
        op_num = input('请输入要使用的功能')
        if op_num == '1':
            send_msg(udp_socket)
        elif op_num == '2':
            resv_msg(udp_socket)
        else:
            print('输入参数有误2秒退出')
            time.sleep(2)
            break

if __name__ == "__main__":
    main()     


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值