客户端之间如何通过服务器进通讯?(借助tcp+socket)

问题:我现在已经大致明白socket和tcp协议之间的关系,也大致明白了客户端和服务端建立连接的过程,但是还是不清楚客户端和客户端之间怎么通信?
比如说以聊天软件举例,AB两个用户向服务端发送连接请求,连接建立后,A—server和B—server各有一个socket(各有一个四元组),建立了tcp连接,但是AB之间怎么进行通信?服务器怎么知道A要给B发消息;又怎么把A要发给B的消息传给B
(说的可能有点绕,但已经尽力想把自己的问题表述清楚)

一般都是cs架构,对于多人聊天需要用到多线程,服务器端保存一个字典,里边存有每一个链接到服务器sokcet,每一个sokcet对应一个线程,例如a发给b信息,先发到服务器端,服务器根据标识送给b,这样就产生了私聊。

具体看一下我写的聊天室程序吧,地址

这就涉及到通信协议了
你在A发送给server的信息里,不能只包含A自己想要发送的内容,还要包含他要发给谁这个信息
然后在server接收到信息之后,先解析,再转发给对应的client
那么如何找到对应的client呢,放字典里是个好办法,查询复杂度O(1),如果你的客户端数量非常少,也可以放列表里,循环匹配一下

哦哦哦,谢谢谢谢!@於黾 @J_Sky2022