Python:设计事件驱动服务器的方法
我正在实现一个服务器,其工作原理如下:Python:设计事件驱动服务器的方法,python,sockets,networking,zeromq,Python,Sockets,Networking,Zeromq,我正在实现一个服务器,其工作原理如下: AddUser(content)-将用户添加到服务器,并使用用户ID进行响应 OnRegister(UserID,Connection)-将客户机注册到服务器的特定UserID OnUserChange(UserID)-通知已注册的客户机(通过他们注册的连接)(普通客户机不应访问) 例如: 第一部分: 客户端添加一个用户(使用AddUser) 服务器生成用户ID“54”,将注册任务排队等待以后执行(因为注册过程很慢),然后使用用户ID进行响应 第二
- AddUser(content)-将用户添加到服务器,并使用用户ID进行响应
- OnRegister(UserID,Connection)-将客户机注册到服务器的特定UserID
- OnUserChange(UserID)-通知已注册的客户机(通过他们注册的连接)(普通客户机不应访问)
第一部分:
- 客户端添加一个用户(使用AddUser)
- 服务器生成用户ID“54”,将注册任务排队等待以后执行(因为注册过程很慢),然后使用用户ID进行响应
- 客户端使用用户ID“54”和连接“127.0.0.1:4334”进行注册(其发送方式尚未定义)
- 客户端侦听127.0.0.1:4334(用于服务器响应)
- 服务器将用户ID注册到客户端的连接(同时可以获得更多请求)
- 服务器将通过不同的套接字异步通知用户状态更改
- 服务器向所有注册的客户端发送响应(通知状态更改)
- 基于连接使用反应器(当每个连接都映射到给定的用户ID时,“用户更改通知”的连接除外)
- 为客户端实现RESTAPI(使用flask),并为用户更改通知实现不同的功能
- 使用基于连接到一组用户的通道的发布子模式(因此客户端首先发布它订阅的用户,服务器通过这些用户ID响应(发布)到客户端)