前辈帮帮忙,2个或多个client连接上server,如何通过server相互通信,有几种方法,具体代码是什么

前辈帮帮忙,2个或多个client连接上server,怎么通过server相互通信,有几种方法,具体代码是什么?
同上,期待前辈的帮助啊!前辈帮帮忙,2个或多个client连接上server,如何通过server相互通信,有几种方法,具体代码是什么
------解决思路----------------------
1)通过server转发,这样这个Server肯定得有一个所有线程共享的存储区,一个最傻的方法就是:将一个客户端发来的数据存成文件,再在其他客户线程中发送这个文件
2)通过server打洞,这样可以减轻Server的负担
------解决思路----------------------
信息结构
1、信息类型:确认连接(服务器发出)、转发消息(服务器发出)、请求转发消息(客户端发出)、群发消息(客户端发出)
2、确认连接:信息类型+客户端列表
3、转发消息:信息类型+发送者IP和端口+信息
4、请求转发消息:信息类型+目标IP和端口+信息
5、群发消息:信息类型+信息

服务器部分
1、创建ServerSocket,并监听指定端口
2、收到客户端连接请求,决定是否接受该连接
2.1、接收连接:创建一个线程与该客户端通信,同时保存客户端信息,并发送客户端列表
2.2、拒绝连接
3、某线程收到客户端消息,根据信息类型进行处理
3.1、请求转发消息:取出通信目标和消息,用转发消息、发送者、消息内容重组消息,将该消息发给通信目标
3.2、群发消息:取出信息内容,用转发消息、发送者、消息内容重组消息,向除发送者以外的客户端发消息

客户端部分
1、创建Socket,连接服务器
2、接收客户端列表
3、向某客户端发送消息或者发送群发消息