From c7d3fe1d69a0bf0ea0abecfb51c22064c0241df9 Mon Sep 17 00:00:00 2001 From: jaysunxiao Date: Thu, 1 Jul 2021 12:01:07 +0800 Subject: [PATCH] =?UTF-8?q?test[tcp]:=20=E4=BC=98=E5=8C=96Tcp=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E5=99=A8=E7=9A=84=E6=B5=8B=E8=AF=95=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tcp/client/TcpClientPacketController.java | 11 +++-- .../net/core/tcp/client/TcpClientTest.java | 26 +++++------- .../tcp/server/TcpServerPacketController.java | 23 +++++------ .../net/core/tcp/server/TcpServerTest.java | 8 ++-- .../zfoo/net/packet/tcp/TcpHelloRequest.java | 40 +++++++++++++++++++ .../zfoo/net/packet/tcp/TcpHelloResponse.java | 40 +++++++++++++++++++ net/src/test/resources/protocol.xml | 3 ++ 7 files changed, 116 insertions(+), 35 deletions(-) create mode 100644 net/src/test/java/com/zfoo/net/packet/tcp/TcpHelloRequest.java create mode 100644 net/src/test/java/com/zfoo/net/packet/tcp/TcpHelloResponse.java diff --git a/net/src/test/java/com/zfoo/net/core/tcp/client/TcpClientPacketController.java b/net/src/test/java/com/zfoo/net/core/tcp/client/TcpClientPacketController.java index 73af5c8d..c6b665fd 100644 --- a/net/src/test/java/com/zfoo/net/core/tcp/client/TcpClientPacketController.java +++ b/net/src/test/java/com/zfoo/net/core/tcp/client/TcpClientPacketController.java @@ -14,9 +14,11 @@ package com.zfoo.net.core.tcp.client; import com.zfoo.net.dispatcher.model.anno.PacketReceiver; -import com.zfoo.net.packet.SM_Int; +import com.zfoo.net.packet.tcp.TcpHelloResponse; import com.zfoo.net.session.model.Session; import com.zfoo.protocol.util.JsonUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; /** @@ -27,10 +29,11 @@ import org.springframework.stereotype.Component; public class TcpClientPacketController { + private static final Logger logger = LoggerFactory.getLogger(TcpClientPacketController.class); + @PacketReceiver - public void atSM_Int(Session session, SM_Int sm) { - System.out.println("receive packet from server:"); - System.out.println(JsonUtils.object2String(sm)); + public void atTcpHelloResponse(Session session, TcpHelloResponse response) { + logger.info("tcp client receive [packet:{}] from server", JsonUtils.object2String(response)); } } diff --git a/net/src/test/java/com/zfoo/net/core/tcp/client/TcpClientTest.java b/net/src/test/java/com/zfoo/net/core/tcp/client/TcpClientTest.java index 7c07518d..0e150041 100644 --- a/net/src/test/java/com/zfoo/net/core/tcp/client/TcpClientTest.java +++ b/net/src/test/java/com/zfoo/net/core/tcp/client/TcpClientTest.java @@ -15,7 +15,11 @@ package com.zfoo.net.core.tcp.client; import com.zfoo.net.NetContext; import com.zfoo.net.core.tcp.TcpClient; -import com.zfoo.net.packet.*; +import com.zfoo.net.packet.CM_AsyncMess0; +import com.zfoo.net.packet.CM_SyncMess; +import com.zfoo.net.packet.SM_AsyncMess0; +import com.zfoo.net.packet.SM_SyncMess; +import com.zfoo.net.packet.tcp.TcpHelloRequest; import com.zfoo.net.session.SessionUtils; import com.zfoo.protocol.exception.ExceptionUtils; import com.zfoo.protocol.util.FileUtils; @@ -48,22 +52,14 @@ public class TcpClientTest { var client = new TcpClient(HostAndPort.valueOf(NetContext.getConfigManager().getLocalConfig().getHostConfig().getAddressMap().get("server0"))); var session = client.start(); - new Thread(() -> { - CM_Int cm = new CM_Int(); - cm.setFlag(false); - cm.setA(Byte.MIN_VALUE); - cm.setB(Short.MIN_VALUE); - cm.setC(Integer.MIN_VALUE); - cm.setD(Long.MIN_VALUE); - cm.setE('e'); - cm.setF("Hello,this is the client!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); + var request = new TcpHelloRequest(); + request.setMessage("Hello, this is the tcp client!"); - for (int i = 0; i < 1000; i++) { - ThreadUtils.sleep(2000); - NetContext.getDispatcher().send(session, cm); - } - }).start(); + for (int i = 0; i < 1000; i++) { + ThreadUtils.sleep(2000); + NetContext.getDispatcher().send(session, request); + } ThreadUtils.sleep(Long.MAX_VALUE); } diff --git a/net/src/test/java/com/zfoo/net/core/tcp/server/TcpServerPacketController.java b/net/src/test/java/com/zfoo/net/core/tcp/server/TcpServerPacketController.java index de4e7537..4b071ed9 100644 --- a/net/src/test/java/com/zfoo/net/core/tcp/server/TcpServerPacketController.java +++ b/net/src/test/java/com/zfoo/net/core/tcp/server/TcpServerPacketController.java @@ -15,10 +15,14 @@ package com.zfoo.net.core.tcp.server; import com.zfoo.net.NetContext; import com.zfoo.net.dispatcher.model.anno.PacketReceiver; import com.zfoo.net.packet.*; +import com.zfoo.net.packet.tcp.TcpHelloRequest; +import com.zfoo.net.packet.tcp.TcpHelloResponse; import com.zfoo.net.session.model.Session; import com.zfoo.protocol.util.FileUtils; import com.zfoo.protocol.util.JsonUtils; import com.zfoo.protocol.util.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; /** @@ -28,21 +32,16 @@ import org.springframework.stereotype.Component; @Component public class TcpServerPacketController { + private static final Logger logger = LoggerFactory.getLogger(TcpServerPacketController.class); + @PacketReceiver - public void atCM_Int(Session session, CM_Int cm) { - System.out.println("receive packet from client:"); - System.out.println(JsonUtils.object2String(cm)); + public void atTcpHelloRequest(Session session, TcpHelloRequest request) { + logger.info("receive [packet:{}] from client", JsonUtils.object2String(request)); - SM_Int sm = new SM_Int(); - sm.setFlag(false); - sm.setA(Byte.MIN_VALUE); - sm.setB(Short.MIN_VALUE); - sm.setC(Integer.MIN_VALUE); - sm.setD(Long.MIN_VALUE); - sm.setE('e'); - sm.setF("Hello,this is the Server!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); + var response = new TcpHelloResponse(); + response.setMessage("Hello, this is the udp server!"); - NetContext.getDispatcher().send(session, sm); + NetContext.getDispatcher().send(session, response); } @PacketReceiver diff --git a/net/src/test/java/com/zfoo/net/core/tcp/server/TcpServerTest.java b/net/src/test/java/com/zfoo/net/core/tcp/server/TcpServerTest.java index 96052d04..d8b7c60d 100644 --- a/net/src/test/java/com/zfoo/net/core/tcp/server/TcpServerTest.java +++ b/net/src/test/java/com/zfoo/net/core/tcp/server/TcpServerTest.java @@ -54,19 +54,19 @@ public class TcpServerTest { public void startServer1() { SessionUtils.printSessionInfo(); - connectServer1(); + connectServer0(); var server1 = new TcpServer(HostAndPort.valueOf(NetContext.getConfigManager().getLocalConfig().getHostConfig().getAddressMap().get("server1"))); server1.start(); ThreadUtils.sleep(Long.MAX_VALUE); } - private void connectServer1() { + private void connectServer0() { executor.execute(() -> { while (true) { try { - var client1 = new TcpClient(HostAndPort.valueOf(NetContext.getConfigManager().getLocalConfig().getHostConfig().getAddressMap().get("client0"))); - client1.start(); + var client0 = new TcpClient(HostAndPort.valueOf(NetContext.getConfigManager().getLocalConfig().getHostConfig().getAddressMap().get("client0"))); + client0.start(); break; } catch (Exception e) { System.out.println("连接失败,开始重新连接"); diff --git a/net/src/test/java/com/zfoo/net/packet/tcp/TcpHelloRequest.java b/net/src/test/java/com/zfoo/net/packet/tcp/TcpHelloRequest.java new file mode 100644 index 00000000..2df50af8 --- /dev/null +++ b/net/src/test/java/com/zfoo/net/packet/tcp/TcpHelloRequest.java @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2020 The zfoo Authors + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and limitations under the License. + */ + +package com.zfoo.net.packet.tcp; + +import com.zfoo.protocol.IPacket; + +/** + * @author jaysunxiao + * @version 3.0 + */ +public class TcpHelloRequest implements IPacket { + + public static final transient short PROTOCOL_ID = 1300; + + private String message; + + + @Override + public short protocolId() { + return PROTOCOL_ID; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/net/src/test/java/com/zfoo/net/packet/tcp/TcpHelloResponse.java b/net/src/test/java/com/zfoo/net/packet/tcp/TcpHelloResponse.java new file mode 100644 index 00000000..0d352586 --- /dev/null +++ b/net/src/test/java/com/zfoo/net/packet/tcp/TcpHelloResponse.java @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2020 The zfoo Authors + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and limitations under the License. + */ + +package com.zfoo.net.packet.tcp; + +import com.zfoo.protocol.IPacket; + +/** + * @author jaysunxiao + * @version 3.0 + */ +public class TcpHelloResponse implements IPacket { + + public static final transient short PROTOCOL_ID = 1301; + + private String message; + + + @Override + public short protocolId() { + return PROTOCOL_ID; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/net/src/test/resources/protocol.xml b/net/src/test/resources/protocol.xml index 530d969c..7a800b1a 100644 --- a/net/src/test/resources/protocol.xml +++ b/net/src/test/resources/protocol.xml @@ -61,6 +61,9 @@ + + +