Exemplo n.º 1
0
def main():
    # 构建socket
    creat_udp_socket()
    # 加入线程,上线自动收消息
    threading.Thread(target=feiq_recv.recv_msg).start()
    # 循环系统
    while 1:
        # 功能选项打印即捕获输入
        num = menu()
        # 上线提醒
        if num == "1":
            feiq_send.send_online_msg()
        # 下线提醒
        if num == "2":
            feiq_send.send_offline_msg()
        # 指定ip发送消息
        if num == "3":
            feiq_send.send_ip_msg()
        # 退出系统
        if num == "4":
            feiq_send.send_offline_msg()
            # 关闭套接字
            feiq_constant.udp_socket.close()
            print("系统已退出...")
            break
Exemplo n.º 2
0
def main():
    # 创建文件消息队列
    feiq_constant.file_queue = Queue()
    tcp_process = Process(target=feiq_file_tcp.tcp_main,
                          args=(feiq_constant.file_queue, ))
    tcp_process.daemon = True
    tcp_process.start()

    # 循环接收消息线程
    create_udp_socket()
    recv_thread = threading.Thread(target=feiq_recv.recv_msg)
    # 线程守护
    recv_thread.setDaemon(True)
    recv_thread.start()

    while True:
        num = print_menu()
        if num == "1":
            feiq_send.send_online_msg()
        if num == "2":
            feiq_send.send_offline_msg()
        if num == "3":
            feiq_send.send_ip_msg()
        if num == "4":
            feiq_send.send_file()
        if num == "5":
            show_online_friends()
        if num == "0":
            feiq_send.send_offline_msg()
            # close udp_socket
            feiq_constant.udp_socket.close()
            exit()
Exemplo n.º 3
0
def main():
    # 构建socket
    creat_udp_socket()
    # 加入线程,上线自动收消息
    recv_thread = threading.Thread(target=feiq_recv.recv_msg)
    # 守护主线程,与主线程同生共死
    recv_thread.setDaemon(True)
    recv_thread.start()

    # 循环系统
    while 1:
        # 功能选项打印即捕获输入
        num = menu()
        # 群发消息
        if num == "00":
            feiq_send.send_allip_msg()
        # 上线提醒
        if num == "1":
            feiq_send.send_online_msg()
        # 下线提醒
        if num == "2":
            feiq_send.send_offline_msg()
        # 指定ip发送消息
        if num == "3":
            feiq_send.send_ip_msg()
        # 群发消息
        if num == "4":
            print_all_online_users()
        # 退出系统
        if num == "0":
            feiq_send.send_offline_msg()
            # 关闭套接字
            feiq_constant.udp_socket.close()
            print("系统已退出...")
            break
Exemplo n.º 4
0
def main():
    # 创建队列接收文件信息,将队列传入tcp,保存发送的文件消息
    feiq_constant.file_queue = multiprocessing.Queue()

    # 创建tcp子进程(1.等待tcp客户端建立连接;2发送文件内容给tcp客户端)
    # 将队列传tcp服务端,用来从queue中获取发送的文件消息
    # tcp_service.accept会阻塞主进程,所以建立子进程来接收客户端请求
    tcp_process = multiprocessing.Process(target=feiq_tcp_server.tcp_main,
                                          args=(feiq_constant.file_queue, ))
    # 开启进程守护
    tcp_process.daemon = True
    tcp_process.start()

    # 循环接收消息线程
    create_udp_socket()
    recv_thread = threading.Thread(target=feiq_recv.recv_msg)
    # 线程守护
    recv_thread.setDaemon(True)
    recv_thread.start()

    while True:
        num = print_menu()
        if num == "1":
            feiq_send.send_online_msg()
        if num == "2":
            feiq_send.send_offline_msg()
        if num == "3":
            feiq_send.send_ip_msg()
        if num == "4":
            feiq_send.send_file()
        if num == "5":
            show_online_friends()
        if num == "0":
            feiq_send.send_offline_msg()
            # close udp_socket
            feiq_constant.udp_socket.close()
            exit()