基于python的局域网聊天系统
时间: 2023-06-16 16:05:39 浏览: 84
可以使用Python的socket模块来实现基于局域网的聊天系统。以下是一个简单的示例代码:
```python
import socket
import threading
HOST = '0.0.0.0' # 监听所有网络接口
PORT = 8888 # 监听的端口号
def handle_client(conn, addr):
while True:
data = conn.recv(1024) # 接收客户端消息,最多接收1024字节
if not data:
break
print('[{}] {}'.format(addr[0], data.decode('utf-8')))
conn.sendall('[{}] {}'.format(addr[0], data.decode('utf-8')).encode('utf-8'))
conn.close()
def main():
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.bind((HOST, PORT))
s.listen(5)
print('Server listening on {}:{}'.format(HOST, PORT))
while True:
conn, addr = s.accept()
print('Connected by {}:{}'.format(addr[0], addr[1]))
threading.Thread(target=handle_client, args=(conn, addr)).start()
if __name__ == '__main__':
main()
```
这个聊天系统使用TCP协议进行通信。当客户端连接到服务器时,服务器会启动一个新的线程来处理客户端发来的消息,并将消息广播给所有连接的客户端。客户端也可以使用类似的代码来连接到服务器并发送消息。
需要注意的是,局域网聊天系统需要在同一个局域网内的设备之间使用,如果想要实现跨网络的聊天系统,需要使用公网IP地址和端口转发等技术。