Python学习-简易聊天室

聊天功能分析
1.网络搭建
2.进入聊天室
    客户端:
        1.输入姓名
        2.将请求发送给服务器
        3.接收结果,允许进入则可以聊天,不允许则重新输入姓名
    服务器:
        1.接收请求
        2.判断姓名是否存在,如果允许进入,存储用户基本信息,通知其他客户端,如不允许则结束
        3.将结果通知客户端
3.聊天
    客户端
        1.创建新的进程
        2.一个进程循环接收消息
        3.一个进程循环接收消息
    服务器
        1.接收请求
        2.判断请求类型
        3.将消息转发给其他人
4.退出聊天
    客户端
        输入quit或者ctrl+c退出
        将请求发送服务器
        结束进程
    服务器
        接收请求
        将退出消息告知其他人
        给该用户发送EXIT
        删除用户
5.管理员消息
6.通信协议设置
    进入聊天室:L
    聊天:C
    退出:Q
    服务器反馈:OK表示成功,其它表示失败
    客户端收到    EXIT     退出接收进程
聊天代码
聊天服务器端代码
"""
聊天室
env: python3.10
socket udp & fork
"""

from socket import *
import os, sys

"""
全局变量:被多个模块使用或有一定固定含义
"""
# 服务器地址
ADDR = ('0.0.0.0', 8888)

# 存储用户 {name:address}
user = {
   
   }


def do_login(s, name, addr):
    if name in user  or "管理员" in name:
        s.sendto("该用户存在".encode(), addr)
        return
    s.sendto(b'OK', addr)  # 可以进入聊天室
    # 通知其他人
    msg = "\n欢迎'%s'进入聊天室" % name
    for i in u
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值