在Python里实现一个多线程聊天室,得把socket和线程的用法搞懂才行。先来看多线程,核心是threading.Thread这个类,构造函数里的参数除了group填None外,target放要执行的函数,name默认是Thread-N,args和kwargs传参数。记住start方法就能启动线程。再看socket,需要先导入socket库,区分好服务器和客户端。服务器端有四个步骤:先创建socket对象,用AF_INET表示IPv4地址族,SOCK_STREAM指定TCP协议。然后绑定IP和端口,比如127.0.0.1和8089,监听端口后就开始accept等待客户端连接。客户端相对简单,connect连接服务器后就能收发消息了。注意同一端口只能被一个socket绑定。把这个过程画成图就好理解了,照着抄代码结构自然清晰。实际编写时先循环接收客户端存入列表,消息用队列共享给所有人,收到消息就遍历列表广播。收消息最好开个独立线程以免阻塞发包线程。