22
单独构建一个im服务,脱离swoostar |
swocloud - config - swocloud.php - bin - swocloud - src - Route.php - tests - composer.json
|
|
可运行的route服务 |
* 1. 检测IM-server的存活状态 * 2. 支持权限认证 * 3. 根据服务器的状态,按照一定的算法,计算出该客户端连接到哪台IM-server,返回给客户端,客户端再去连接到对应的服务端,保存客户端与IM-server的路由关系 * 4. 如果 IM-server宕机,会自动从Redis中当中剔除 * 5. IM-server上线后连接到Route,自动加 入Redis(im-server ip:port) * 6. 可以接受来自PHP代码、C++程序、Java程序的消息请求,转发给用户所在的IM-server * 7. 缓存服务器地址,多次查询redis
|
|
所有服务的父类, 写一写公共的操作
|
|
|
添加一个启动类 |
||
Im-server在启动的时候就需要加载route服务 |
那么这个IM-Server相对于Route来说就是一个客户端;同时还需要做的间断性的发送信息,以保持来接;
|
|
Swostar集成事件处理 |
事件注册 事件触发 |
|
处理event监听事件注册 |
|
|
注册事件,可以放在application中 |
|
|
Route写到缓存里面 |
|
|
构建基本的路由服务 |
|
|
对于这个服务注意我们是需要单独出来 |
为什么?因为对于swostar就相当于是一个单独的小项目,也就是可以单独构建一个im服务;如果在其中再集成一个这样的路由服务则并不是很好操作;所以我们需要独立出来;其实也可以不独立,这取决与开发者 对于Route服务其实就是需要创建websocket的服务端,而对于其他协议我们可以添加多协议监听即可实现; |
|
|
* 1. 检测IM-server的存活状态 * 2. 支持权限认证 * 3. 根据服务器的状态,按照一定的算法,计算出该客户端连接到哪台IM-server,返回给客户端,客户端再去连接到对应的服务端,保存客户端与IM-server的路由关系 * 4. 如果 IM-server宕机,会自动从Redis中当中剔除 * 5. IM-server上线后连接到Route,自动加 入Redis(im-server ip:port) * 6. 可以接受来自PHP代码、C++程序、Java程序的消息请求,转发给用户所在的IM-server * 7. 缓存服务器地址,多次查询redis
|
|
|
|
|
|
|