|
package netconnect
该包中包含的服务端与客户端通信的一些处理方法,包括发送数据的封装,协议头的封装,tcp通信时进行分包,处理粘包问题。
class Connection
与客户端的一条连接对象,通过他可以与客户端进行通信,主动断开连接,主动推送消息等。
loseConnection
断开与客户端的连接- type method
- //cwd firefly/ netconnect / connection.py
- Params loseConnection(self)
复制代码 safeToWriteData
向客户端发送消息- type method
- //cwd firefly/ netconnect / connection.py
- Params safeToWriteData(self,topicID,msg)
复制代码 topicID 指令号id int型
msg 要发送的信息 str型
通过指令号为topicID的方法将msg发送给客户端
class DataPackProtoc
数据包协议的定义。实例化时,需传入 HEAD_0: int 协议头0
HEAD_1: int 协议头1
HEAD_2: int 协议头2
HEAD_3: int 协议头3
protoVersion: int 协议头版本号
serverVersion: int 服务版本号
这些参数组成一个完整的协议头,如果实例化不传这些参数,则默认都为0,也可在实例化后使用下方法自定义设置
setHEAD_0
设置协议头0- type method
- //cwd firefly/ netconnect / datapack.py
- Params setHEAD_0(HEAD_0)
复制代码 HEAD_0 协议头0 int型
将协议头0设置为HEAD_0
setHEAD_1
设置协议头1- type method
- //cwd firefly/ netconnect / datapack.py
- Params setHEAD_1(HEAD_1)
复制代码 HEAD_1 协议头1 int型
将协议头1设置为HEAD_1
setHEAD_2
设置协议头2- type method
- //cwd firefly/ netconnect / datapack.py
- Params setHEAD_2(HEAD_2)
复制代码 HEAD_2 协议头2 int型
将协议头2设置为HEAD_2
setHEAD_3
设置协议头3- type method
- //cwd firefly/ netconnect / datapack.py
- Params setHEAD_3(HEAD_3)
复制代码 HEAD_3 协议头3 int型
将协议头3设置为HEAD_3
setprotoVersion
协议头版本号- type method
- //cwd firefly/ netconnect / datapack.py
- Params setprotoVersion(protoVersion)
复制代码 protoVersion 协议头版本号 int型
将协议头版本号设置为protoVersion
setserverVersion
设置服务版本号- type method
- //cwd firefly/ netconnect / datapack.py
- Params setserverVersion(serverVersion)
复制代码 serverVersion 服务版本号 int型
将服务版本号设置为serverVersion
getHeadLenght
获取数据包的长度- type method
- //cwd firefly/ netconnect / datapack.py
- Params getHeadLenght()
复制代码 返回值为 17
unpack
解包- type method
- //cwd firefly/ netconnect / datapack.py
- Params unpack(dpack)
复制代码 Dpack 打包好的数据 str型
将打包好的数据解析出来,返回一个字典{'result':xxx,'command':xxx,'lenght':xxx},其中result表示解析是否成功,command表示指令号,lenght表示传过来的信息的长度
pack
打包数据包- type method
- //cwd firefly/ netconnect / datapack.py
- Params pack(response,command)
复制代码 Response 要打包的数据
Command 指令号
返回打包后的数据
class ConnectionManager
连接管理器
getNowConnCnt
获取当前连接数量- type method
- //cwd firefly/ netconnect / manager.py
- Params getNowConnCnt()
复制代码 返回当前连接数量
addConnection
加入一条连接- type method
- //cwd firefly/ netconnect / manager.py
- Params addConnection(conn)
复制代码 Conn 连接对象 object型
dropConnectionByID
根据连接的id删除连接实例- type method
- //cwd firefly/ netconnect / manager.py
- Params dropConnectionByID(connID)
复制代码 connID 连接id int型
getConnectionByID
根据ID获取一条连接- type method
- //cwd firefly/ netconnect / manager.py
- Params getConnectionByID(connID)
复制代码 connID 连接id int型
返回连接对象,若无则返回None
loseConnection
根据连接ID断开与客户端的连接- type method
- //cwd firefly/ netconnect / manager.py
- Params loseConnection(connID)
复制代码 connID 连接id int型
pushObject
主动推送消息- type method
- //cwd firefly/ netconnect / manager.py
- Params pushObject(topicID , msg, sendList)
复制代码 topicID 指令号id int型
msg 要发送的信息 str型
SendList 要发送消息的连接对象列表 list型 [object,object]
通过指令号为topicID的方法将msg发送给列表中所有的连接对象连接的客户端
class LiberateProtocol
与客户端通信协议类
connectionMade
与客户端连接建立时候的处理- type method
- //cwd firefly/ netconnect / protoc.py
- Params connectionMade()
复制代码 connectionLost
处理与客户端连接断开时候的处理- type method
- //cwd firefly/ netconnect / protoc.py
- connectionLost(reason)
复制代码 safeToWriteData
向客户端发送数据- type method
- //cwd firefly/ netconnect / protoc.py
- safeToWriteData(data,command)
复制代码 data 要向客户端写的数据 str型
Command 指令号 int型
dataHandleCoroutine
接受客户端数据处理的协程。- type method
- //cwd firefly/ netconnect / protoc.py
- Params dataHandleCoroutine()
复制代码 dataReceived
数据到达处理
@param data: str 客户端传送过来的数据- type method
- //cwd firefly/ netconnect / protoc.py
- Params dataReceived(data)
复制代码
class LiberateFactory
协议工厂
setDataProtocl
设置数据包协议- type method
- //cwd firefly/ netconnect / protoc.py
- Params setDataProtocl(dataprotocl)
复制代码 dataprotocl 协议实例 instance型
自定义数据包协议
doConnectionMade
当连接建立时的处理- type method
- //cwd firefly/ netconnect / protoc.py
- Params doConnectionMade(conn)
复制代码
doConnectionLost
连接断开时的处理- type method
- //cwd firefly/ netconnect / protoc.py
- Params doConnectionLost(conn)
复制代码 addServiceChannel
添加服务通道- type method
- //cwd firefly/ netconnect / protoc.py
- Params addServiceChannel(service)
复制代码 service 服务实例 instance型
doDataReceived
数据到达时的处理- type method
- //cwd firefly/ netconnect / protoc.py
- Params doDataReceived(conn,commandID,data)
复制代码 produceResult
产生客户端需要的最终结果
@param response: str 分布式客户端获取的结果- type method
- //cwd firefly/ netconnect / protoc.py
- Params produceResult(command,response)
复制代码 command 指令号 int型
response 要传送的数据
返回根据协议打包后的数据
loseConnection
主动断开与客户端的连接- type method
- //cwd firefly/ netconnect / protoc.py
- Params loseConnection(connID)
复制代码 connID 连接id int型
根据连接ID断开与客户端的连接
pushObject
服务端向客户端推消息- type method
- //cwd firefly/ netconnect / protoc.py
- Params pushObject(topicID , msg, sendList)
复制代码 topicID: int 指令号
msg: 消息的内容,protobuf结构类型
sendList: 推向的目标列表(客户端id 列表)
使用指令号topicID向目标列表sendList中所有客户端发送消息msg
|
|