群聊客户端

    xiaoxiao2025-01-14  13

    """ 群聊客户端 Chat room env:python3.5 socket fork 练习 """ from socket import * import os,sys # 服务器地址 ADDR=('176.209.104.26',9898) # 发送消息 def send_msg(s,name): while True: try: text=input("发言:") except KeyboardInterrupt: text='quit' # 退出聊天室 if text=='quit': msg='Q '+name s.sendto(msg.encode(),ADDR) sys.exit('退出聊天室') msg="C %s %s"%(name,text) s.sendto(msg.encode(),ADDR) # 接收消息 def recv_msg(s): while True: data,addr=s.recvfrom(2048) # 服务端发送EXIT表示让客户端退出 if data.decode()=='EXIT': sys.exit() print(data.decode()) # 创建网络连接 def main(): s=socket(AF_INET,SOCK_DGRAM) while True: name=input('输入姓名:') msg="L "+name s.sendto(msg.encode(),ADDR) # 等待回应 data,addr=s.recvfrom(1024) if data.decode()=='OK': print("您已进入聊天室") break else: print(data.decode()) # 创建新的进程 pid=os.fork() if pid<0: sys.exit("Error!") elif pid==0: send_msg(s,name) else: recv_msg(s) if __name__=='__main__': main()
    最新回复(0)