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

基于UDP的Socket 制作简易聊天室_第1张图片
基于UDP的Socket 制作简易聊天室_第2张图片
基于UDP的Socket 制作简易聊天室_第3张图片
基于UDP的Socket 制作简易聊天室_第4张图片

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()     


你可能感兴趣的:(socket)