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

程序采用了半双工的形式进行通讯,借用了网络调试助手进行了测试:
python-udp聊天室_第1张图片

你可能感兴趣的:(python)