mirror of
https://github.com/tiennm99/zfoo.git
synced 2026-08-21 08:27:11 +00:00
ref[net]: refactor gateway attachment
This commit is contained in:
@@ -52,7 +52,6 @@ public class GraalvmNetHints implements RuntimeHintsRegistrar {
|
||||
|
||||
// atachment
|
||||
classes.add(SignalAttachment.class);
|
||||
classes.add(SignalOnlyAttachment.class);
|
||||
classes.add(GatewayAttachment.class);
|
||||
classes.add(UdpAttachment.class);
|
||||
classes.add(HttpAttachment.class);
|
||||
|
||||
@@ -82,7 +82,11 @@ public class GatewayRouteHandler extends ServerRouteHandler {
|
||||
|
||||
// 把客户端信息包装为一个GatewayAttachment,因此通过这个网关附加包可以得到玩家的uid、sid之类的信息
|
||||
var gatewayAttachment = new GatewayAttachment(session);
|
||||
gatewayAttachment.setSignalAttachment((SignalAttachment) decodedPacketInfo.getAttachment());
|
||||
var signalAttachment = (SignalAttachment) decodedPacketInfo.getAttachment();
|
||||
if (signalAttachment != null) {
|
||||
signalAttachment.setClient(SignalAttachment.SIGNAL_SERVER);
|
||||
gatewayAttachment.setSignalAttachment(signalAttachment);
|
||||
}
|
||||
|
||||
// 网关优先使用IGatewayLoadBalancer作为一致性hash的计算参数,然后才会使用客户端的session做参数
|
||||
// 例子:以聊天服务来说,玩家知道自己在哪个群组groupId中,那往这个群发送消息时,会在Packet中带上这个groupId做为一致性hash就可以了。
|
||||
|
||||
+2
-2
@@ -29,9 +29,9 @@ import org.springframework.context.support.ClassPathXmlApplicationContext;
|
||||
* @version 3.0
|
||||
*/
|
||||
@Ignore
|
||||
public class TcpClientTest {
|
||||
public class JProtobufTcpClientTest {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(TcpClientTest.class);
|
||||
private static final Logger logger = LoggerFactory.getLogger(JProtobufTcpClientTest.class);
|
||||
|
||||
@Test
|
||||
public void startClient() throws Exception {
|
||||
Reference in New Issue
Block a user