From ee1defd706766e2c3daa2946cb3a8f598643bde7 Mon Sep 17 00:00:00 2001 From: mashiyu Date: Thu, 17 Jan 2019 20:50:13 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/db/redis/RedisKey.java | 2 +- .../com/ljsd/jieling/db/redis/RedisUtil.java | 21 ++++++++------- .../jieling/handler/GetAllItemHandler.java | 4 +-- .../jieling/handler/GetPlayerInfoHandler.java | 10 +++---- .../jieling/handler/LoginRequestHandler.java | 26 ++++++++++++------- .../handler/map/MapEnterRequestHandler.java | 2 +- .../handler/map/MapGetInfoRequestHandler.java | 2 +- .../ljsd/jieling/handler/map/MapLogic.java | 2 +- .../com/ljsd/jieling/util/CBean2Proto.java | 22 ++++++++-------- .../main/java/network/client/NettyClient.java | 6 ++--- 10 files changed, 54 insertions(+), 43 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisKey.java b/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisKey.java index 17f42baf7..cb0792623 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisKey.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisKey.java @@ -16,7 +16,7 @@ public class RedisKey { - private String getKey(String type, K key, boolean withServerId) { + public static String getKey(String type, String key, boolean withServerId) { if (withServerId) { return areaId + Delimiter_colon + type + Delimiter_colon + String.valueOf(key); } else { diff --git a/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisUtil.java index 6a0eb787f..085015045 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisUtil.java @@ -198,12 +198,12 @@ public class RedisUtil { * * @param key * 键 不能为null - * @param item + * @param mapKey * 项 不能为null * @return 值 */ - public Object hget(String key, String item) { - return redisTemplate.opsForHash().get(key, item); + public Object hget(String key, String mapKey) { + return redisTemplate.opsForHash().get(key, mapKey); } /** @@ -265,18 +265,18 @@ public class RedisUtil { * * @param key * 键 - * @param item + * @param mapKey * 项 * @param value * 值 * @return true 成功 false失败 */ - public boolean hset(String key, String item, Object value) { + public boolean hset(String key, String mapKey, Object value) { try { if (!(value instanceof String)){ value = gson.toJson(value); } - redisTemplate.opsForHash().put(key, item, value); + redisTemplate.opsForHash().put(key, mapKey, value); return true; } catch (Exception e) { e.printStackTrace(); @@ -289,7 +289,7 @@ public class RedisUtil { * * @param key * 键 - * @param item + * @param mapKey * 项 * @param value * 值 @@ -297,9 +297,12 @@ public class RedisUtil { * 时间(秒) 注意:如果已存在的hash表有时间,这里将会替换原有的时间 * @return true 成功 false失败 */ - public boolean hset(String key, String item, Object value, long time) { + public boolean hset(String key, String mapKey, Object value, long time) { try { - redisTemplate.opsForHash().put(key, item, value); + if (!(value instanceof String)){ + value = gson.toJson(value); + } + redisTemplate.opsForHash().put(key, mapKey, value); if (time > 0) { expire(key, time); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllItemHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllItemHandler.java index b87ed6d2e..31ddd17a3 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllItemHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllItemHandler.java @@ -24,8 +24,8 @@ public class GetAllItemHandler extends BaseHandler { int token = netData.getToken(); int msgId = netData.getMsgId(); int msgIndex = netData.getIndex(); - PlayerInfoProto.PlayerInfo.GetItemInfoRequest getItemInfoRequest - = PlayerInfoProto.PlayerInfo.GetItemInfoRequest.parseFrom(netData.parseClientProtoNetData()); + PlayerInfoProto.GetItemInfoRequest getItemInfoRequest + = PlayerInfoProto.GetItemInfoRequest.parseFrom(netData.parseClientProtoNetData()); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java index d2ceafcac..fa2eef86b 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java @@ -31,18 +31,18 @@ public class GetPlayerInfoHandler extends BaseHandler{ int token = netData.getToken(); int msgId = netData.getMsgId(); int msgIndex = netData.getIndex(); - PlayerInfoProto.PlayerInfo.GetPlayerInfoRequest getPlayerInfoRequest - = PlayerInfoProto.PlayerInfo.GetPlayerInfoRequest.parseFrom(netData.parseClientProtoNetData()); + PlayerInfoProto.GetPlayerInfoRequest getPlayerInfoRequest + = PlayerInfoProto.GetPlayerInfoRequest.parseFrom(netData.parseClientProtoNetData()); LOGGER.info("processMessage->uid={},token={},msgId={},msgIndex={},messageNum={},messageStr={}", userId, token,msgId,msgIndex,getPlayerInfoRequest.getNum(),getPlayerInfoRequest.getStr()); User user = UserManager.getUserForLogin(userId); - CommonProto.Common.Player player = CBean2Proto.getPlayer(userId, user.getPlayerInfoManager()); + CommonProto.Player player = CBean2Proto.getPlayer(userId, user.getPlayerInfoManager()); - PlayerInfoProto.PlayerInfo.GetPlayerInfoResponse getPlayerInfoResponse - = PlayerInfoProto.PlayerInfo.GetPlayerInfoResponse.newBuilder() + PlayerInfoProto.GetPlayerInfoResponse getPlayerInfoResponse + = PlayerInfoProto.GetPlayerInfoResponse.newBuilder() .setPlayer(player) .build(); try { diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/LoginRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/LoginRequestHandler.java index e431d113a..2787394cb 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/LoginRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/LoginRequestHandler.java @@ -1,10 +1,7 @@ package com.ljsd.jieling.handler; -import com.ljsd.jieling.db.redis.RedisKey; -import com.ljsd.jieling.db.redis.RedisUtil; import com.ljsd.jieling.logic.dao.User; import com.ljsd.jieling.logic.dao.UserManager; -import com.ljsd.jieling.logic.dao.UserServerInfo; import com.ljsd.jieling.netty.cocdex.PacketNetData; import com.ljsd.jieling.network.session.ISession; import com.ljsd.jieling.protocols.MessageTypeProto; @@ -32,24 +29,35 @@ public class LoginRequestHandler extends BaseHandler { int msgId = netData.getMsgId(); int msgIndex = netData.getIndex(); byte[] message = netData.parseClientProtoNetData(); - PlayerInfoProto.PlayerInfo.LoginRequest loginRequest - = PlayerInfoProto.PlayerInfo.LoginRequest.parseFrom(message); + PlayerInfoProto.LoginRequest loginRequest + = PlayerInfoProto.LoginRequest.parseFrom(message); LOGGER.info("processMessage->uid={},token={},msgId={},msgIndex={},messageNum={},messageStr={}", userId, token,msgId,msgIndex,loginRequest.getNum(),loginRequest.getStr()); //登陆注册入内存 User user = UserManager.userLogin(userId); user.getPlayerInfoManager().setOpenId(loginRequest.getOpenId()); - UserServerInfo userServerInfo = new UserServerInfo(user.getPlayerInfoManager()); - RedisUtil.getInstence().hset(RedisKey.USER_SERVER_INFO,loginRequest.getOpenId(), userServerInfo); + +// UserServerInfo userServerInfo = new UserServerInfo(user.getPlayerInfoManager()); +// String key = RedisKey.getKey(RedisKey.USER_SERVER_INFO,loginRequest.getOpenId(),false); +// RedisUtil.getInstence().hset(key,10086+"", userServerInfo); +// +// UserServerInfo userServerInfo1 = new UserServerInfo(user.getPlayerInfoManager()); +// RedisUtil.getInstence().hset(key,10087+"", userServerInfo1); +// +// UserServerInfo userServerInfo2 = new UserServerInfo(user.getPlayerInfoManager()); +// RedisUtil.getInstence().hset(key,10088+"", userServerInfo2); + +// Map userServerInfoMap = RedisUtil.getInstence().hget(RedisKey.USER_SERVER_INFO, loginRequest.getOpenId(), UserServerInfo.class, -1, false); String newToken = UserManager.getNewToken(userId); - PlayerInfoProto.PlayerInfo.LoginResponse loginResponse - = PlayerInfoProto.PlayerInfo.LoginResponse.newBuilder() + PlayerInfoProto.LoginResponse loginResponse + = PlayerInfoProto.LoginResponse.newBuilder() .setResultCode(0) .setNewToken(newToken) .build(); + try { MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.LOGIN_RESPONSE_VALUE, loginResponse, true); LOGGER.info("back to client!"); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapEnterRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapEnterRequestHandler.java index 65df67fce..d896cb0c6 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapEnterRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapEnterRequestHandler.java @@ -17,7 +17,7 @@ public class MapEnterRequestHandler extends BaseHandler{ @Override public void process(ISession iSession, PacketNetData netData) throws Exception { byte[] message = netData.parseClientProtoNetData(); - MapInfoProto.MapInfo.MapEnterRequest mapEnterRequest = MapInfoProto.MapInfo.MapEnterRequest.parseFrom(message); + MapInfoProto.MapEnterRequest mapEnterRequest = MapInfoProto.MapEnterRequest.parseFrom(message); MapLogic.getInstance().enterMap(iSession, mapEnterRequest.getMapId(), MessageTypeProto.MessageType.MAP_ENTER_RESPONSE); } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapGetInfoRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapGetInfoRequestHandler.java index 909237246..fe975d1e2 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapGetInfoRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapGetInfoRequestHandler.java @@ -21,7 +21,7 @@ public class MapGetInfoRequestHandler extends BaseHandler { public void process(ISession iSession, PacketNetData netData) throws Exception { int uid = iSession.getUid(); User user = UserManager.getUser(uid); - MapInfoProto.MapInfo.MapGetInfoResponse mapGetInfoResponse = MapInfoProto.MapInfo.MapGetInfoResponse + MapInfoProto.MapGetInfoResponse mapGetInfoResponse = MapInfoProto.MapGetInfoResponse .newBuilder() .setMapId(user.getMapManager().getCurMapId()) .build(); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java index 41938cf73..08daca5c3 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java @@ -48,7 +48,7 @@ public class MapLogic { mapManager = initMap( 1); user.setMapManager(mapManager); } - MapInfoProto.MapInfo.MapEnterResponse mapEnterResponse = MapInfoProto.MapInfo.MapEnterResponse + MapInfoProto.MapEnterResponse mapEnterResponse = MapInfoProto.MapEnterResponse .newBuilder() .build(); MessageUtil.sendMessage(iSession, 1, messageType.getNumber(), mapEnterResponse, true); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java b/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java index 0bd8d8c6a..721585147 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java @@ -9,8 +9,8 @@ import java.util.List; public class CBean2Proto { - public static CommonProto.Common.Player getPlayer(int uid, PlayerManager playerManager) { - CommonProto.Common.Player player = CommonProto.Common.Player + public static CommonProto.Player getPlayer(int uid, PlayerManager playerManager) { + CommonProto.Player player = CommonProto.Player .newBuilder() .setUid(uid) .setNickName(playerManager.getNickName()) @@ -25,8 +25,8 @@ public class CBean2Proto { return player; } - public static CommonProto.Common.Item getItem(Item item){ - CommonProto.Common.Item itemProto = CommonProto.Common.Item + public static CommonProto.Item getItem(Item item){ + CommonProto.Item itemProto = CommonProto.Item .newBuilder() .setItemId(item.getItemId()) .setItemNum(item.getItemNum()) @@ -35,8 +35,8 @@ public class CBean2Proto { return itemProto; } - public static CommonProto.Common.Hero getHero(Hero hero){ - CommonProto.Common.Hero heroProto = CommonProto.Common.Hero + public static CommonProto.Hero getHero(Hero hero){ + CommonProto.Hero heroProto = CommonProto.Hero .newBuilder() .setId(hero.getId()) .setHeroId(hero.getTemplateId()) @@ -55,11 +55,11 @@ public class CBean2Proto { return heroProto; } - private static List getHeroSkill(List skillList) { + private static List getHeroSkill(List skillList) { - List skills = new ArrayList<>(); + List skills = new ArrayList<>(); for(Skill skill : skillList){ - CommonProto.Common.Skill skill1 = CommonProto.Common.Skill + CommonProto.Skill skill1 = CommonProto.Skill .newBuilder() .setSkillId(skill.getSkillId()) .setSkillType(skill.getSkillType()) @@ -72,8 +72,8 @@ public class CBean2Proto { return skills; } - private static List getHeroEquip(List equipList) { - List equips = new ArrayList<>(); + private static List getHeroEquip(List equipList) { + List equips = new ArrayList<>(); return equips; } diff --git a/test/src/main/java/network/client/NettyClient.java b/test/src/main/java/network/client/NettyClient.java index decf673f2..a03a2af23 100644 --- a/test/src/main/java/network/client/NettyClient.java +++ b/test/src/main/java/network/client/NettyClient.java @@ -36,7 +36,7 @@ public class NettyClient { NettyTCPClientHandler handler = ch.pipeline().get(NettyTCPClientHandler.class); //------------------------------------------测试类型------------------------------------------------------- // GameProto.GameMessage gameMessage = new NettyClient().sendLoginMessageTest();//登陆请求 - PlayerInfoProto.PlayerInfo.GetPlayerInfoRequest gameMessage = new NettyClient().sendRegisterMessageTest();//注册请求 + PlayerInfoProto.GetPlayerInfoRequest gameMessage = new NettyClient().sendRegisterMessageTest();//注册请求 LOGGER.info(gameMessage.toString()); //--------------------------------------------------------------------------------------------------------- @@ -64,9 +64,9 @@ public class NettyClient { } - private PlayerInfoProto.PlayerInfo.GetPlayerInfoRequest sendRegisterMessageTest(){ + private PlayerInfoProto.GetPlayerInfoRequest sendRegisterMessageTest(){ LOGGER.info("register"); - PlayerInfoProto.PlayerInfo.GetPlayerInfoRequest registerRequest = PlayerInfoProto.PlayerInfo.GetPlayerInfoRequest + PlayerInfoProto.GetPlayerInfoRequest registerRequest = PlayerInfoProto.GetPlayerInfoRequest .newBuilder() // .setNum(888) // .setStr("666") From cbd48c509773274c8730c759b4822e8ffa867a7d Mon Sep 17 00:00:00 2001 From: wangyuan Date: Fri, 18 Jan 2019 09:58:37 +0800 Subject: [PATCH 2/2] hero --- conf/server/HeroConfig.txt | 2 +- .../jieling/config/SCHeroRankUpConfig.java | 74 +++++++++++++++++++ .../ljsd/jieling/config/SHeroLevlConfig.java | 45 +++++++++++ .../jieling/handler/GetAllHeroHandler.java | 54 ++++++++++++++ .../main/java/network/client/NettyClient.java | 7 +- .../network/client/NettyTCPClientHandler.java | 12 ++- 6 files changed, 191 insertions(+), 3 deletions(-) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/config/SCHeroRankUpConfig.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/config/SHeroLevlConfig.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllHeroHandler.java diff --git a/conf/server/HeroConfig.txt b/conf/server/HeroConfig.txt index 5417406e7..8a339031d 100644 --- a/conf/server/HeroConfig.txt +++ b/conf/server/HeroConfig.txt @@ -54,4 +54,4 @@ int int int int int int float float float float float mut,int#int,2 mut,int#int, 52 2052 0 0 4 10 1834 140 0 220 176 10100#10|10101#20 null 53 2053 0 0 4 10 1943 135 219 0 176 10100#10|10101#20 null 54 2054 0 0 4 10 1630 169 0 176 163 10100#10|10101#20 null -55 2055 0 0 4 10 1508 205 163 0 194 10100#10|10101#20 null \ No newline at end of file +55 2055 0 0 4 10 1508 205 163 0 194 10100#10|10101#20 null diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/SCHeroRankUpConfig.java b/serverlogic/src/main/java/com/ljsd/jieling/config/SCHeroRankUpConfig.java new file mode 100644 index 000000000..579a0e938 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/config/SCHeroRankUpConfig.java @@ -0,0 +1,74 @@ +package com.ljsd.jieling.config; + +import com.ljsd.jieling.logic.STableManager; +import com.ljsd.jieling.logic.Table; + +import java.util.Map; + +@Table(name = "HeroRankupConfig") +public class SCHeroRankUpConfig implements BaseConfig{ + public static Map scHeroRankUpConfigMap; + + private int id; + + private int type; + + private float rankupPara; + + private int limitLevel; + + private int openLevel; + + private int limitStar; + + private int openStar; + + private int consumeMaterial[]; + + private int[] consumeCard[]; + + @Override + public void init() throws Exception { + scHeroRankUpConfigMap = STableManager.getConfig(SCHeroRankUpConfig.class); + } + + public static Map getScHeroRankUpConfigMap() { + return scHeroRankUpConfigMap; + } + + public int getId() { + return id; + } + + public int getType() { + return type; + } + + public float getRankupPara() { + return rankupPara; + } + + public int getLimitLevel() { + return limitLevel; + } + + public int getOpenLevel() { + return openLevel; + } + + public int getLimitStar() { + return limitStar; + } + + public int getOpenStar() { + return openStar; + } + + public int[] getConsumeMaterial() { + return consumeMaterial; + } + + public int[][] getConsumeCard() { + return consumeCard; + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/SHeroLevlConfig.java b/serverlogic/src/main/java/com/ljsd/jieling/config/SHeroLevlConfig.java new file mode 100644 index 000000000..b64b0fe9f --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/config/SHeroLevlConfig.java @@ -0,0 +1,45 @@ +package com.ljsd.jieling.config; + +import com.ljsd.jieling.logic.STableManager; +import com.ljsd.jieling.logic.Table; + +import java.util.Map; + +@Table(name = "HeroLevelConfig") +public class SHeroLevlConfig implements BaseConfig{ + + public static Map sHeroLevlConfigMap; + + private int id; + + private int level; + + private float characterLevelPara; + + @Override + public void init() throws Exception { + sHeroLevlConfigMap = STableManager.getConfig(SHeroLevlConfig.class); + + } + + + public static Map getsCHero() { + return sHeroLevlConfigMap; + } + + public int getId() { + return id; + } + + public int getLevel() { + return level; + } + + public static Map getsHeroLevlConfigMap() { + return sHeroLevlConfigMap; + } + + public float getCharacterLevelPara() { + return characterLevelPara; + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllHeroHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllHeroHandler.java new file mode 100644 index 000000000..a5f256897 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllHeroHandler.java @@ -0,0 +1,54 @@ +package com.ljsd.jieling.handler; + +import com.ljsd.jieling.config.SCHero; +import com.ljsd.jieling.netty.cocdex.PacketNetData; +import com.ljsd.jieling.network.session.ISession; +import com.ljsd.jieling.protocols.CommonProto; +import com.ljsd.jieling.protocols.HeroInfoProto; +import com.ljsd.jieling.protocols.MessageTypeProto; +import com.ljsd.jieling.util.MessageUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.List; + +@Component +public class GetAllHeroHandler extends BaseHandler { + + private static final Logger LOGGER = LoggerFactory.getLogger(GetAllHeroHandler.class); + + @Override + public MessageTypeProto.MessageType getMessageCode() { + return MessageTypeProto.MessageType.GET_HEROINFO_REQUEST; + } + + @Override + public void process(ISession iSession, PacketNetData netData) throws Exception { + byte[] packetData = netData.parseClientProtoNetData(); + int uid = iSession.getUid(); + List heroList = new ArrayList<>(); + // SCHero scHero = SCHero.getsCHero().get(1); + CommonProto.Hero hero = CommonProto.Hero.newBuilder() + .setHeroId(1) + .setAttack(2) + .setStar(2) + .setHeroType(1) + .setLevel(1) + .setHp(1000) + .setMDefence(2000) + .setPDefence(3000) + .setSpeed(4000) + .addAllEquipList(new ArrayList<>()) + .addAllSkillList(new ArrayList<>()) + .build(); + + + heroList.add(hero); + HeroInfoProto.GetHeroInfoResponse build = HeroInfoProto.GetHeroInfoResponse.newBuilder().addAllHeroList(heroList).build(); + //HeroInfoProto.HeroInfo.GetHeroInfoResponse build = HeroInfoProto.HeroInfo.GetHeroInfoResponse.newBuilder().setHeroList(hero).build(); + MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.GET_HEROINFO_RESPONSE_VALUE, build, true); + LOGGER.info("back to client!"); + } +} diff --git a/test/src/main/java/network/client/NettyClient.java b/test/src/main/java/network/client/NettyClient.java index a03a2af23..4ba9cbaa5 100644 --- a/test/src/main/java/network/client/NettyClient.java +++ b/test/src/main/java/network/client/NettyClient.java @@ -3,6 +3,7 @@ package network.client; import com.google.protobuf.*; import com.ljsd.jieling.netty.cocdex.Tea; import com.ljsd.jieling.protocols.GMCommandProto; +import com.ljsd.jieling.protocols.HeroInfoProto; import com.ljsd.jieling.protocols.MessageTypeProto; import com.ljsd.jieling.protocols.PlayerInfoProto; import io.netty.bootstrap.Bootstrap; @@ -41,10 +42,14 @@ public class NettyClient { //--------------------------------------------------------------------------------------------------------- handler.sendRequest_jieling(makeFinalMessage(gameMessage, MessageTypeProto.MessageType.LOGIN_REQUEST_VALUE)); - handler.sendRequest_jieling(makeFinalMessage(gmRequest(), MessageTypeProto.MessageType.GM_COMMAND_VALUE)); + handler.sendRequest_jieling(makeFinalMessage(getHero(), MessageTypeProto.MessageType.GET_HEROINFO_REQUEST_VALUE)); } + public static HeroInfoProto.GetHeroInfoRequest getHero(){ + return HeroInfoProto.GetHeroInfoRequest.newBuilder().setNum(1).setStr("111").build(); + } + private static byte[] makeFinalMessage(MessageLite request, int msgNum) { byte[] messageData = request.toByteArray(); byte[] packetData = new byte[messageData.length + 16]; diff --git a/test/src/main/java/network/client/NettyTCPClientHandler.java b/test/src/main/java/network/client/NettyTCPClientHandler.java index 3499e1199..9fb2c8800 100644 --- a/test/src/main/java/network/client/NettyTCPClientHandler.java +++ b/test/src/main/java/network/client/NettyTCPClientHandler.java @@ -3,6 +3,8 @@ package network.client; import com.google.protobuf.MessageLite; import com.ljsd.jieling.netty.cocdex.PacketNetData; import com.ljsd.jieling.netty.cocdex.Tea; +import com.ljsd.jieling.protocols.CommonProto; +import com.ljsd.jieling.protocols.HeroInfoProto; import io.netty.channel.Channel; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.SimpleChannelInboundHandler; @@ -16,6 +18,8 @@ import java.util.concurrent.BlockingDeque; import java.util.concurrent.LinkedBlockingDeque; import java.util.concurrent.atomic.AtomicInteger; +import static com.ljsd.jieling.protocols.MessageTypeProto.MessageType.GET_HEROINFO_RESPONSE_VALUE; + /** * Created by justin on 14-8-12. */ @@ -105,9 +109,15 @@ public class NettyTCPClientHandler extends SimpleChannelInboundHandler { int userId = packetNetData.getUserId(); int token = packetNetData.getToken(); int msgId = packetNetData.getMsgId(); - byte[] packetData = packetNetData.getPacketData(); + byte[] packetData = packetNetData.parseServerProtoNetData(); + if(msgId == GET_HEROINFO_RESPONSE_VALUE){ + HeroInfoProto.GetHeroInfoResponse getHeroInfoResponse = HeroInfoProto.GetHeroInfoResponse.parseFrom(packetData); + int heroListCount = getHeroInfoResponse.getHeroListCount(); + //int heroListCount = getHeroInfoResponse.getHeroListCount(); + System.out.println("--->>>>" + heroListCount); + } System.out.println("back hartbeat id : "+msgId);