syntax = "proto3"; package userCenter; option go_package = "protocol/userCenter"; /* id = 1 */ message RouteMessage { uint64 uid = 1; uint32 msgType = 2; bytes payLoad = 3; } /* id = 2 */ message RouteMessageRsp { uint32 status = 1; } /* id = 3 */ message LoginMessage { string proxyAddr = 1; // userProxy的地址:ip:port string token = 2; string clientAddr = 3; // 客户端地址(websocket):ip:port } /* id = 4 */ message LoginMessageRsp { uint32 status = 1; uint64 uid = 2; } /* id = 5 */ message LogoutMessage { string clientAddr = 1; // 客户端地址(websocket):ip:port uint64 uid = 2; } /* id = 6 */ message LogoutMessageRsp { uint32 status = 1; } /* id = 7 */ message MulticastMessage { repeated uint64 uids = 1; uint32 msgType = 2; bytes payLoad = 3; } /* id = 8 */ message MulticastMessageRsp { repeated uint64 failedUids = 1; } /* id = 9 */ message KickMessage { uint64 uid = 1; string addr = 2; } /* id = 10 */ message KickMessageRsp { uint32 status = 1; } /* id = 11 */ message BroadcastMessage { uint32 msgType = 2; bytes payLoad = 3; } /* id = 12 */ message BroadcastMessageRsp { repeated uint64 failedUids = 1; } /* id = 13 */ message BizMessage { uint64 uid = 1; uint32 msgType = 2; string payLoad = 3; } /* id = 14 */ message BizMessageRsp { uint32 status = 1; } service Router { rpc route(RouteMessage) returns (RouteMessageRsp) {} rpc kickUser(KickMessage) returns (KickMessageRsp) {} } service User { rpc login(LoginMessage) returns (LoginMessageRsp) {} rpc logout(LogoutMessage) returns (LogoutMessageRsp) {} rpc multicast(MulticastMessage) returns (MulticastMessageRsp) {} rpc broadcast(BroadcastMessage) returns (BroadcastMessageRsp) {} rpc transmit(BizMessage) returns (BizMessageRsp) {} }