网络聊天的架构

网络聊天的基本功能和流程

1,多人进行网络聊天

,v1.0最核心的聊天,代码最基础

客户端直接的交流交互

由于客户端不能直接进行交流,所以要借助服务器

具体的功能

分为服务器端和客户端

服务器端

1,驱动服务器,服务器进行循环监听

2,服务器接受多个客户端Socrekt对象进行存储。运用集合

3,在服务器端,每个socekt都要监听各自的客户端发送的消息

4,一旦某一个客户端发送了消息,那么服务器就通过其他的socklet发送给其他的客户端。

客户端:

1,只要用户名不为空,创建Socrect

2,打开聊天窗口

3,输入内容,点击发送消息。

4,在客户端接听服务器端发送回来的消息,并进行显示。

(其中的特殊关系难以厘清,要仔细思考)

基本流程的图鉴:

其中的客户端,要创建两个界面一个是登录界面,一个是聊天界面

图鉴:

(其中代码最为关键的,也是功能主要的就是服务器监听到多个客户端的连接时,要注意,每个客户端的socker在服务器要一直持续监听客户端的发送过来的消息,这就要创建线程用来--**同时--**监听每个socker的发送的消息,,,,,服务器向客户端发送公告也需要在客户端一直监听)

代码展示:代码有点多,,,

客户端登录界面:

复制代码
k客户端:聊天窗口:

客户端运行:服务器端:

服务器端运行:

相关推荐
小哈里5 分钟前
【pypi镜像源】使用devpi实现python镜像源代理(缓存加速,私有仓库,版本控制)
开发语言·python·缓存·镜像源·pypi
努力学习的小廉10 分钟前
【C++】 —— 笔试刷题day_29
开发语言·c++·算法
电商数据girl18 分钟前
酒店旅游类数据采集API接口之携程数据获取地方美食品列表 获取地方美餐馆列表 景点评论
java·大数据·开发语言·python·json·旅游
天天打码19 分钟前
python版本管理工具-pyenv轻松切换多个Python版本
开发语言·python
CircleMouse19 分钟前
基于 RedisTemplate 的分页缓存设计
java·开发语言·后端·spring·缓存
ktkiko1125 分钟前
顶层架构 - 消息集群推送方案
java·开发语言·架构
楠奕25 分钟前
python中使用neo4j
开发语言·python·neo4j
zybsjn30 分钟前
后端系统做国际化改造,生成多语言包
java·python·c#
2501_9063143231 分钟前
MCP-RAG 服务器:完整设置和使用指南
运维·服务器
南斯拉夫的铁托37 分钟前
labelimg安装及使用指南(yolo)
开发语言·python·yolo