一.企业级即时通讯使用的架构图:
1.所有的客户端首先访问负载均衡服务器
***********该负载均衡服务器专门轮询每个服务器第二SocketServer
***********判断那个SocketServer有资源可以处理信息;
***********将内存资源多得放置在任务盏上方,
2.那么客户端client就能首先找到资源较好的Server,进行TCP的三次握手,传递信息
那么一个Client就能和一个对应的Server进行了长连接;
3.client1的传递的信息经过Server2给Server2,Server2再传给client2,
4.这就完成了两个client之间的交互;
二.本地模拟两个client之间的交互;
注意点:
1.SocketServer中接受信息.accept和对其流的方法是阻塞式的方法;
2.一个Server需要开启不同的线程才能与不同的client进行交换;
3.注意IP地址,端口号之类的;
4.因为是 三次握手,所以连接的双方任意一方都能取得对方并通过,四次SayBye进行断开;
5.未完待续
实施方案-------------
1.客户端:
---------------注册登录唯一的信息
-----------------发送带有地址信息(注册信息)的数据;
-----------------通过IP地址和端口连接服务器,接送信息
-----------------断开连接
注意:(1)信息的格式
2.服务器端
------------------使用Map<K,V>集合保存连接的Sockets;K为客户端注册的信息,V是对应的socket
------------------开启线程保存不同的Sockets
------------------解析数据中待用的地址,然后在集合中get对应的Socket,然后发送信息;