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