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; } message EnterRoomMessage { uint64 uid = 1; string groupId = 2; } message EnterRoomMessageRsp { uint32 status = 1; } message LeaveRoomMessage { uint64 uid = 1; string groupId = 2; } message LeaveRoomMessageRsp { uint32 status = 1; } message RoomHeartbeatMessage { uint64 uid = 1; string groupId = 2; } message RoomHeartbeatMessageRsp { uint32 status = 1; } // 获取房间内最后一次心跳 message GetLastRoomHeartbeatMessage { uint64 uid = 1; string groupId = 2; } message GetLastRoomHeartbeatMessageResp { int64 timestamp = 1; } message AreaMessage { int32 area = 1; uint32 msgType = 2; bytes payLoad = 3; } message AreaMessageRsp { repeated uint64 failedUids = 1; } message LevelMessage { int32 level = 1; uint32 msgType = 2; bytes payLoad = 3; } message LevelMessageRsp { repeated uint64 failedUids = 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 areacast(AreaMessage) returns (AreaMessageRsp) {} rpc levelcast(LevelMessage) returns (LevelMessageRsp) {} rpc transmit(BizMessage) returns (BizMessageRsp) {} rpc enterRoom(EnterRoomMessage) returns (EnterRoomMessageRsp) {} rpc leaveRoom(LeaveRoomMessage) returns (LeaveRoomMessageRsp) {} rpc roomHeartbeat(RoomHeartbeatMessage) returns (RoomHeartbeatMessageRsp) {} rpc getLastRoomHeartbeat(GetLastRoomHeartbeatMessage) returns (GetLastRoomHeartbeatMessageResp) {} }