问题:我现在已经大致明白socket和tcp协议之间的关系,也大致明白了客户端和服务端建立连接的过程,但是还是不清楚客户端和客户端之间怎么通信?
比如说以聊天软件举例,AB两个用户向服务端发送连接请求,连接建立后,A—server和B—server各有一个socket(各有一个四元组),建立了tcp连接,但是AB之间怎么进行通信?服务器怎么知道A要给B发消息;又怎么把A要发给B的消息传给B
(说的可能有点绕,但已经尽力想把自己的问题表述清楚)
客户端之间如何通过服务器进通讯?(借助tcp+socket)
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 这里不提提纳里 2022-09-23 11:30关注
一般都是cs架构,对于多人聊天需要用到多线程,服务器端保存一个字典,里边存有每一个链接到服务器sokcet,每一个sokcet对应一个线程,例如a发给b信息,先发到服务器端,服务器根据标识送给b,这样就产生了私聊。
具体看一下我写的聊天室程序吧,地址
PYWindowsChat: 在Python中创建TCP服务器与客户端进行通信:Tk、thread与socket组合,创建简单多人聊天室. https://gitee.com/J_Sky/pywindows-chat解决 1无用
悬赏问题
- ¥15 jupyterthemes 设置完毕后没有效果
- ¥15 matlab图像高斯低通滤波
- ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
- ¥15 钢筋实图交点识别,机器视觉代码
- ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
- ¥50 400g qsfp 光模块iphy方案
- ¥15 两块ADC0804用proteus仿真时,出现异常
- ¥15 关于风控系统,如何去选择
- ¥15 这款软件是什么?需要能满足我的需求
- ¥15 SpringSecurityOauth2登陆前后request不一致