当前位置: 首页 > article >正文

用python写一个聊天室程序

下面是一个简单的基于Socket的Python聊天室程序示例,包括服务器端和客户端:

服务器端代码:

import socket
import threading

def handle_client(client, address):
    print(f"New connection from {address}")
    while True:
        msg = client.recv(1024).decode()
        if not msg:
            break
        print(f"Received message: {msg}")
        broadcast(msg)

    client.close()

def broadcast(msg):
    for client in clients:
        client.send(msg.encode())

host = '127.0.0.1'
port = 5555

server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind((host, port))
server.listen()

clients = []

print("Server is running...")

while True:
    client, address = server.accept()
    clients.append(client)
    
    thread = threading.Thread(target=handle_client, args=(client, address))
    thread.start()

客户端代码:

import socket
import threading

def receive_messages():
    while True:
        msg = client.recv(1024).decode()
        print(msg)

host = '127.0.0.1'
port = 5555

client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect((host, port))

thread = threading.Thread(target=receive_messages)
thread.start()

while True:
    msg = input()
    client.send(msg.encode())

要使用此聊天室程序,您需要在一个终端窗口中运行服务器端代码,并在另一个终端窗口中运行客户端代码。

请注意,这只是一个简单的示例,没有进行错误处理和安全性检查。在实际应用中,您可能需要添加更多功能以确保程序的稳定性和安全性。


http://www.kler.cn/a/545484.html

相关文章:

  • 使用Cocos Creator制作“打砖块”小游戏:从零开始的详细教程
  • 告别硬编码:用 load_dotenv 高效管理你的环境变量
  • 【Git版本控制器】:第一弹——Git初识,Git安装,创建本地仓库,初始化本地仓库,配置config用户名,邮箱信息
  • Trend Micro 网络安全●解决方案
  • 物联网平台-分布式的设备接入与管理系统
  • NGINX相关的知识点
  • 10. Hbase Compaction命令
  • 34.Qt使用回调函数
  • 财务主题数据分析-企业盈利能力分析
  • 人工智能时代下ai智能语音机器人如何以假乱真?
  • Oracle DBA 诊断及统计工具-1
  • Navicat导入海量Excel数据到数据库(简易介绍)
  • 前端IndexedDB使用教程
  • AI成为基础设施有哪些研究方向:模型的性能、可解释性,算法偏见
  • 数据操作与事务:确保数据一致性的关键
  • 接口自动化框架篇:框架中的数据流转处理!
  • Mac 下使用多版本 Node
  • [RabbitMQ] RabbitMQ常见面试题
  • AI代理软件行业白皮书
  • [Spring] Spring常见面试题