diff --git a/conf/server/HeroConfig.txt b/conf/server/HeroConfig.txt index ca12bd656..5417406e7 100644 --- a/conf/server/HeroConfig.txt +++ b/conf/server/HeroConfig.txt @@ -1,58 +1,57 @@ -Id PiecesId PiecesCount Quality Profession ProfessionResourceId PropertyName Hp Attack PhysicalDefence MagicDefence Speed SkillId RankupConsumeMaterial -int int int int int int int float float float float float mut,int#int,2 mut,int#int,2 -1 2001 0 0 0 1203 1 2389 164 278 0 176 10100#10|10101#20 null -2 2002 0 0 0 1202 1 2277 155 260 0 158 10100#10|10101#20 null -3 2003 0 0 0 1202 1 2275 159 263 0 172 10100#10|10101#20 null -4 2004 0 0 0 1201 1 2269 183 0 277 132 10100#10|10101#20 null -5 2005 0 0 0 1203 1 2163 173 0 258 176 10100#10|10101#20 null -6 2006 0 0 0 1202 1 2165 174 0 261 176 10100#10|10101#20 null -7 2007 0 0 0 1201 2 2159 169 0 262 176 10100#10|10101#20 null -8 2008 0 0 0 1202 2 2020 206 0 222 132 10100#10|10101#20 null -9 2009 0 0 0 1203 2 1923 198 0 212 163 10100#10|10101#20 null -10 2010 0 0 0 1201 2 1925 200 0 208 132 10100#10|10101#20 null -11 2011 0 0 0 1201 2 1925 199 0 203 150 10100#10|10101#20 null -12 2012 0 0 0 1202 2 1763 251 201 0 150 10100#10|10101#20 null -13 2013 0 0 0 1202 3 1675 239 194 0 163 10100#10|10101#20 null -14 2014 0 0 0 1201 3 1684 235 197 0 185 10100#10|10101#20 null -15 2015 0 0 0 1203 3 1680 237 193 0 176 10100#10|10101#20 null -16 2016 0 0 0 1202 3 1513 293 167 0 154 10100#10|10101#20 null -17 2017 0 0 0 1201 3 1439 278 159 0 154 10100#10|10101#20 null -18 2018 0 0 0 1201 3 1439 278 159 0 154 10100#10|10101#20 null -19 2019 0 0 0 1201 4 1444 281 153 0 154 10100#10|10101#20 null -20 2020 0 0 0 1202 4 2277 159 261 0 154 10100#10|10101#20 null -21 2021 0 0 0 1201 4 1936 131 225 0 176 10100#10|10101#20 null -22 2022 0 0 0 1203 4 1637 168 0 178 163 10100#10|10101#20 null -23 2023 0 0 0 1201 4 1431 200 162 0 194 10100#10|10101#20 null -24 2024 0 0 0 1202 4 1220 239 133 0 154 10100#10|10101#20 null -25 2025 0 0 0 1203 4 1832 143 0 222 176 10100#10|10101#20 null -26 2026 0 0 0 1201 4 1934 136 226 0 176 10100#10|10101#20 null -27 2027 0 0 0 1201 4 1628 173 0 175 163 10100#10|10101#20 null -28 2028 0 0 0 1201 4 1428 209 165 0 194 10100#10|10101#20 null -29 1000 0 0 0 1201 4 1222 235 132 0 154 10100#10|10101#20 null -30 1000 0 0 0 1201 4 1834 149 0 224 176 10100#10|10101#20 null -31 1000 0 0 0 1201 4 1940 131 220 0 176 10100#10|10101#20 null -32 1000 0 0 0 1201 4 1632 165 0 177 163 10100#10|10101#20 null -33 1000 0 0 0 1201 4 1429 205 164 0 194 10100#10|10101#20 null -34 1000 0 0 0 1201 4 1221 242 135 0 154 10100#10|10101#20 null -35 1000 0 0 0 1201 4 1834 147 0 225 176 10100#10|10101#20 null -36 1000 0 0 0 1201 4 1934 136 217 0 176 10100#10|10101#20 null -37 1000 0 0 0 1201 4 1637 170 0 179 163 10100#10|10101#20 null -38 1000 0 0 0 1201 4 1427 201 170 0 194 10100#10|10101#20 null -39 1000 0 0 0 1201 4 1300 235 129 0 154 10100#10|10101#20 null -40 1000 0 0 0 1201 4 1948 147 0 219 176 10100#10|10101#20 null -41 1000 0 0 0 1201 4 1938 135 224 0 176 10100#10|10101#20 null -42 1000 0 0 0 1201 4 1636 174 0 179 163 10100#10|10101#20 null -43 1000 0 0 0 1201 4 1943 132 217 0 176 10100#10|10101#20 null -44 1000 0 0 0 1201 4 1627 166 0 181 163 10100#10|10101#20 null -45 1000 0 0 0 1202 4 1433 209 166 0 194 10100#10|10101#20 null -46 1000 0 0 0 1201 4 1228 241 131 0 154 10100#10|10101#20 null -47 1000 0 0 0 1201 4 1836 146 0 226 176 10100#10|10101#20 null -48 1000 0 0 0 1201 4 1939 141 223 0 176 10100#10|10101#20 null -49 1000 0 0 0 1201 4 1635 175 0 173 163 10100#10|10101#20 null -50 1000 0 0 0 1201 4 1424 208 166 0 194 10100#10|10101#20 null -51 1000 0 0 0 1201 4 1222 234 132 0 154 10100#10|10101#20 null -52 1000 0 0 0 1201 4 1834 140 0 220 176 10100#10|10101#20 null -53 1000 0 0 0 1201 4 1943 135 219 0 176 10100#10|10101#20 null -54 1000 0 0 0 1201 4 1630 169 0 176 163 10100#10|10101#20 null -55 1000 0 0 0 1201 4 1508 205 163 0 194 10100#10|10101#20 null -56 1000 0 0 0 1201 4 1297 242 137 0 154 10100#10|10101#20 null +Id PiecesId PiecesCount Profession PropertyName MaxRank Hp Attack PhysicalDefence MagicDefence Speed SkillId RankupConsumeMaterial +int int int int int int float float float float float mut,int#int,2 mut,int#int,2 +1 2001 0 1 1 10 2389 164 278 0 176 10100#10|10101#20 null +2 2002 0 5 2 10 2277 155 260 0 158 10100#10|10101#20 null +3 2003 0 2 3 10 2275 159 263 0 172 10100#10|10101#20 null +4 2004 0 3 4 10 2269 183 0 277 132 10100#10|10101#20 null +5 2005 0 4 5 10 2163 173 0 258 176 10100#10|10101#20 null +6 2006 0 3 6 10 2165 174 0 261 176 10100#10|10101#20 null +7 2007 0 0 2 10 2159 169 0 262 176 10100#10|10101#20 null +8 2008 0 0 2 10 2020 206 0 222 132 10100#10|10101#20 null +9 2009 0 0 2 10 1923 198 0 212 163 10100#10|10101#20 null +10 2010 0 0 2 10 1925 200 0 208 132 10100#10|10101#20 null +11 2011 0 0 2 10 1925 199 0 203 150 10100#10|10101#20 null +12 2012 0 0 2 10 1763 251 201 0 150 10100#10|10101#20 null +13 2013 0 0 3 10 1675 239 194 0 163 10100#10|10101#20 null +14 2014 0 0 3 10 1684 235 197 0 185 10100#10|10101#20 null +15 2015 0 0 3 10 1680 237 193 0 176 10100#10|10101#20 null +16 2016 0 0 3 10 1513 293 167 0 154 10100#10|10101#20 null +17 2017 0 0 3 10 1439 278 159 0 154 10100#10|10101#20 null +18 2018 0 0 3 10 1439 278 159 0 154 10100#10|10101#20 null +19 2019 0 0 4 10 1444 281 153 0 154 10100#10|10101#20 null +20 2020 0 0 4 10 2277 159 261 0 154 10100#10|10101#20 null +21 2021 0 0 4 10 1936 131 225 0 176 10100#10|10101#20 null +22 2022 0 0 4 10 1637 168 0 178 163 10100#10|10101#20 null +23 2023 0 0 4 10 1431 200 162 0 194 10100#10|10101#20 null +24 2024 0 0 4 10 1220 239 133 0 154 10100#10|10101#20 null +25 2025 0 0 4 10 1832 143 0 222 176 10100#10|10101#20 null +26 2026 0 0 4 10 1934 136 226 0 176 10100#10|10101#20 null +27 2027 0 0 4 10 1628 173 0 175 163 10100#10|10101#20 null +28 2028 0 0 4 10 1428 209 165 0 194 10100#10|10101#20 null +29 2029 0 0 4 10 1222 235 132 0 154 10100#10|10101#20 null +30 2030 0 0 4 10 1834 149 0 224 176 10100#10|10101#20 null +31 2031 0 0 4 10 1940 131 220 0 176 10100#10|10101#20 null +32 2032 0 0 4 10 1632 165 0 177 163 10100#10|10101#20 null +33 2033 0 0 4 10 1429 205 164 0 194 10100#10|10101#20 null +34 2034 0 0 4 10 1221 242 135 0 154 10100#10|10101#20 null +35 2035 0 0 4 10 1834 147 0 225 176 10100#10|10101#20 null +36 2036 0 0 4 10 1934 136 217 0 176 10100#10|10101#20 null +37 2037 0 0 4 10 1637 170 0 179 163 10100#10|10101#20 null +38 2038 0 0 4 10 1427 201 170 0 194 10100#10|10101#20 null +39 2039 0 0 4 10 1300 235 129 0 154 10100#10|10101#20 null +40 2040 0 0 4 10 1948 147 0 219 176 10100#10|10101#20 null +41 2041 0 0 4 10 1938 135 224 0 176 10100#10|10101#20 null +42 2042 0 0 4 10 1636 174 0 179 163 10100#10|10101#20 null +43 2043 0 0 4 10 1943 132 217 0 176 10100#10|10101#20 null +44 2044 0 0 4 10 1627 166 0 181 163 10100#10|10101#20 null +45 2045 0 0 4 10 1433 209 166 0 194 10100#10|10101#20 null +46 2046 0 0 4 10 1228 241 131 0 154 10100#10|10101#20 null +47 2047 0 0 4 10 1836 146 0 226 176 10100#10|10101#20 null +48 2048 0 0 4 10 1939 141 223 0 176 10100#10|10101#20 null +49 2049 0 0 4 10 1635 175 0 173 163 10100#10|10101#20 null +50 2050 0 0 4 10 1424 208 166 0 194 10100#10|10101#20 null +51 2051 0 0 4 10 1222 234 132 0 154 10100#10|10101#20 null +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 diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/SCHero.java b/serverlogic/src/main/java/com/ljsd/jieling/config/SCHero.java index 342da7455..210016388 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/config/SCHero.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/config/SCHero.java @@ -16,23 +16,25 @@ public class SCHero implements BaseConfig{ private int piecesCount; - private int quality; + private int propertyName; //角色属性 - private int profession; + private int profession; //角色职业 - private int maxRank; + private int maxRank; //角色最高星级 private float hp; - private float attack; + private float attack; //攻击力 - private float pDefence; + private float physicalDefence; //护甲 - private float mDefence; + private float magicDefence; //魔抗 - private float speed; + private float speed; //速度 - private String skillList; + private int[][] skillId; + + private int[][] rankupConsumeMaterial; @Override public void init() throws Exception { @@ -58,10 +60,6 @@ public class SCHero implements BaseConfig{ return piecesCount; } - public int getQuality() { - return quality; - } - public int getProfession() { return profession; } @@ -78,19 +76,27 @@ public class SCHero implements BaseConfig{ return attack; } - public float getpDefence() { - return pDefence; + public float getPhysicalDefence() { + return physicalDefence; } - public float getmDefence() { - return mDefence; + public float getMagicDefence() { + return magicDefence; } public float getSpeed() { return speed; } - public String getSkillList() { - return skillList; + public int getPropertyName() { + return propertyName; + } + + public int[][] getSkillId() { + return skillId; + } + + public int[][] getRankupConsumeMaterial() { + return rankupConsumeMaterial; } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/STableManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/STableManager.java index 966db3c48..fa91b1b7e 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/STableManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/STableManager.java @@ -168,7 +168,7 @@ public class STableManager { * 处理参数 */ private static void dealParams(Class clazz, Map map, List key, List type, T obj, String[] prarms) throws NoSuchFieldException, IllegalAccessException { - int id = Integer.parseInt(prarms[0]); + int id = Integer.parseInt(prarms[0]); for (int i = 0; i < prarms.length; i++) { try { Field field = clazz.getDeclaredField(key.get(i)); @@ -180,7 +180,7 @@ public class STableManager { break; case "string": case "stringt": - if (!"null".equalsIgnoreCase(prarms[i])) { + if (!"null".equalsIgnoreCase(prarms[i]) || !"".equalsIgnoreCase(prarms[i])) { field.set(obj, prarms[i]); } break; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/Item.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/Item.java index a757a4169..704a7d5db 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/Item.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/Item.java @@ -4,24 +4,24 @@ import com.ljsd.common.mogodb.MongoBase; public class Item extends MongoBase { - private String id; private int itemId; private int itemNum; - private int itemType; - - private int itemQuality; - - private boolean isStacking; - private int endingTime; - public String getId() { - return id; + public Item(){ + } + public Item(int itemId,int itemNum){ + this.itemId = itemId; + this.itemNum = itemNum; + this.endingTime = (int)(System.currentTimeMillis()/1000); + } + + public int getItemId() { return itemId; } @@ -40,33 +40,6 @@ public class Item extends MongoBase { this.itemNum = itemNum; } - public int getItemType() { - return itemType; - } - - public void setItemType(int itemType) throws Exception { - updateString("itemType", itemType); - this.itemType = itemType; - } - - public int getItemQuality() { - return itemQuality; - } - - public void setItemQuality(int itemQuality) throws Exception { - updateString("itemQuality", itemQuality); - this.itemQuality = itemQuality; - } - - public boolean isStacking() { - return isStacking; - } - - public void setStacking(boolean stacking) throws Exception { - updateString("stacking", stacking); - isStacking = stacking; - } - public int getEndingTime() { return endingTime; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/ItemManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/ItemManager.java index e04965ae9..2613ad97d 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/ItemManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/ItemManager.java @@ -33,18 +33,12 @@ public class ItemManager extends MongoBase { public void removeItem(Integer key) { itemMap.remove(key); + removeString(getMongoKey() + ".itemMap." + key); } public Item newItem(int itemId, int itemNum) throws Exception { - SItem sItem = SItem.getsItemMap().get(itemId); - Item item = new Item(); - item.setItemId(itemId); - item.setItemNum(itemNum); - item.setItemType(sItem.getItemType()); - item.setItemQuality(sItem.getQuantity()); - int endTime = (int)(System.currentTimeMillis()/1000); - item.setEndingTime(endTime); - item.setStacking( sItem.isStacking()); + Item item = new Item(itemId,itemNum); + addItem(item); return item; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/Mail.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/Mail.java new file mode 100644 index 000000000..580344233 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/Mail.java @@ -0,0 +1,36 @@ +package com.ljsd.jieling.logic.dao; + +import java.util.Date; + +public class Mail { + + private String id; + + private int roleUid; //所属玩家的UID + + private boolean isRead;//是,否已读,未读,附件未领取 + + private String head; //标题 + + private Date sendDate;//发送的日期 + + private long sendTime; //发送时间 + + private String mailItemList;//获取所有的附件 + + private int effectiveTime;//有效日期 + + private int isDraw;//附件状态 是 否领取1和0 + + private String content;//邮件内容 + + private long readtime;//读邮件时间 + + private String sendName;//发送者名字 + + private int senderUid; + + private long recvTime; + + private int mailType; //邮件类型 1:系统邮件 2:idip 业务邮件 +} 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 f2817d53a..14a93f640 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java @@ -28,12 +28,8 @@ public class CBean2Proto { public static CommonProto.Common.Item getItem(Item item){ CommonProto.Common.Item itemProto = CommonProto.Common.Item .newBuilder() - .setId(item.getId()) .setItemId(item.getItemId()) .setItemNum(item.getItemNum()) - .setItemType(item.getItemType()) - .setItemQuality(item.getItemQuality()) - .setIsStacking(item.isStacking()) .setEndingTime(item.getEndingTime()) .build(); return itemProto; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java index ae73e71aa..b0e3701b4 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java @@ -4,6 +4,7 @@ import com.ljsd.jieling.config.SItem; import com.ljsd.jieling.logic.dao.Item; import com.ljsd.jieling.logic.dao.ItemManager; import com.ljsd.jieling.logic.dao.User; +import com.ljsd.jieling.logic.dao.UserManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -21,15 +22,36 @@ public class ItemUtil { public static void addItem(User user, Map itemMap) throws Exception { ItemManager itemManager = user.getItemManager(); for (Map.Entry entry : itemMap.entrySet()) { + SItem sItem = SItem.getsItemMap().get(entry.getKey()); Item item = itemManager.getItem(entry.getKey()); if (item == null){ item = itemManager.newItem(entry.getKey(), entry.getValue()); }else{ - if (item.isStacking()){ + if(sItem.isStacking()){ item.setItemNum(item.getItemNum() + entry.getValue()); } } - itemManager.addItem(item); + } + //todo 为了测试 日后要删掉 + UserManager.ljsdMongoTemplate.lastUpdate(); + } + + public static void useItem(User user,Map useItemMap) throws Exception{ + if(useItemMap.isEmpty()){ + return; + } + ItemManager itemManager = user.getItemManager(); + for (Map.Entry userItem : useItemMap.entrySet()) { + Item myItem = itemManager.getItem(userItem.getKey()); + if( null == myItem){ + continue; + } + int needCount = userItem.getValue(); + if(myItem.getItemNum()<=needCount){ + itemManager.removeItem(userItem.getKey()); + }else{ + myItem.setItemNum( myItem.getItemNum() - needCount); + } } } diff --git a/test/build.gradle b/test/build.gradle index b92adebcb..dd297cc07 100644 --- a/test/build.gradle +++ b/test/build.gradle @@ -13,5 +13,6 @@ repositories { dependencies { testCompile group: 'junit', name: 'junit', version: '4.12' + compile project(":serverlogic") compile("org.apache.poi:poi-ooxml:3.12") } \ No newline at end of file diff --git a/serverlogic/src/main/java/com/ljsd/jieling/network/client/NettyClient.java b/test/src/main/java/network/client/NettyClient.java similarity index 52% rename from serverlogic/src/main/java/com/ljsd/jieling/network/client/NettyClient.java rename to test/src/main/java/network/client/NettyClient.java index b2ac71212..decf673f2 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/network/client/NettyClient.java +++ b/test/src/main/java/network/client/NettyClient.java @@ -1,8 +1,9 @@ -package com.ljsd.jieling.network.client; +package network.client; -import com.google.protobuf.InvalidProtocolBufferException; -import com.ljsd.jieling.netty.cocdex.PacketNetData; -import com.ljsd.jieling.network.NettyProperties; +import com.google.protobuf.*; +import com.ljsd.jieling.netty.cocdex.Tea; +import com.ljsd.jieling.protocols.GMCommandProto; +import com.ljsd.jieling.protocols.MessageTypeProto; import com.ljsd.jieling.protocols.PlayerInfoProto; import io.netty.bootstrap.Bootstrap; import io.netty.channel.Channel; @@ -11,21 +12,15 @@ import io.netty.channel.nio.NioEventLoopGroup; import io.netty.channel.socket.nio.NioSocketChannel; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.context.annotation.ComponentScan; -import org.springframework.context.annotation.Configuration; -import java.util.List; - -@Configuration -@EnableAutoConfiguration -@EnableConfigurationProperties(NettyProperties.class) -@ComponentScan public class NettyClient { private static final Logger LOGGER = LoggerFactory.getLogger(NettyClient.class); + private static int uid = 10000001; + private static int msgIndex = 1; + private static int token=543242; + public static void main(String[] args) throws InterruptedException, InvalidProtocolBufferException { EventLoopGroup group = new NioEventLoopGroup(1); @@ -39,28 +34,33 @@ public class NettyClient { Channel ch = b.connect("127.0.0.1",18090).sync().channel(); NettyTCPClientHandler handler = ch.pipeline().get(NettyTCPClientHandler.class); -/*------------------------------------------测试类型-------------------------------------------------------*/ +//------------------------------------------测试类型------------------------------------------------------- // GameProto.GameMessage gameMessage = new NettyClient().sendLoginMessageTest();//登陆请求 PlayerInfoProto.PlayerInfo.GetPlayerInfoRequest gameMessage = new NettyClient().sendRegisterMessageTest();//注册请求 LOGGER.info(gameMessage.toString()); -/*---------------------------------------------------------------------------------------------------------*/ +//--------------------------------------------------------------------------------------------------------- - List result = handler.sendRequest_jieling(gameMessage); + handler.sendRequest_jieling(makeFinalMessage(gameMessage, MessageTypeProto.MessageType.LOGIN_REQUEST_VALUE)); + handler.sendRequest_jieling(makeFinalMessage(gmRequest(), MessageTypeProto.MessageType.GM_COMMAND_VALUE)); -// while (true){ -// Thread.sleep(5000); -// List result = handler.sendRequest_jieling(gameMessage); -// -//// List result = handler.sendHeartBeat_jieling(); -// LOGGER.info("send to server..."); -// } -// ch.close(); + } -// } -// finally { -// group.shutdownGracefully(); -// } + private static byte[] makeFinalMessage(MessageLite request, int msgNum) { + byte[] messageData = request.toByteArray(); + byte[] packetData = new byte[messageData.length + 16]; + Tea.intToByte(packetData, 0, uid); //uid + Tea.intToByte(packetData, 4, token); //token + Tea.intToByte(packetData, 8,msgNum); //msgId + Tea.intToByte(packetData, 12, msgIndex); // msgIndex + System.arraycopy(messageData, 0, packetData, 16, messageData.length); + int[] secretKey = Tea.KEY; + byte[] finalData = Tea.encrypt2(packetData, secretKey); + return finalData; + } + + public static GMCommandProto.GMCommand gmRequest(){ + return GMCommandProto.GMCommand.newBuilder().setCommand("10000001#0#1#100").build(); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/network/client/NettyTCPClientHandler.java b/test/src/main/java/network/client/NettyTCPClientHandler.java similarity index 80% rename from serverlogic/src/main/java/com/ljsd/jieling/network/client/NettyTCPClientHandler.java rename to test/src/main/java/network/client/NettyTCPClientHandler.java index 680a81efe..e84185793 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/network/client/NettyTCPClientHandler.java +++ b/test/src/main/java/network/client/NettyTCPClientHandler.java @@ -1,9 +1,11 @@ -package com.ljsd.jieling.network.client; +package network.client; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.google.protobuf.GeneratedMessage; +import com.google.protobuf.GeneratedMessageLite; import com.google.protobuf.MessageLite; import com.ljsd.jieling.netty.cocdex.PacketNetData; import com.ljsd.jieling.netty.cocdex.Tea; -import com.ljsd.jieling.protocols.PlayerInfoProto; import io.netty.channel.Channel; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.SimpleChannelInboundHandler; @@ -65,23 +67,8 @@ public class NettyTCPClientHandler extends SimpleChannelInboundHandler { } - public List sendRequest_jieling(MessageLite request) { - - byte[] finalMessage = makeFinalMessage(request); - + public void sendRequest_jieling( byte[] finalMessage) { channel.writeAndFlush(finalMessage); - ArrayList msgs = new ArrayList(); -// try { -// Thread.sleep(1000); -// for (PacketNetData gameMessage1: answer){ -// gameMessage1 = answer.take(); -// msgs.add(gameMessage1); -// } -// } catch (InterruptedException e) { -// LOGGER.error("sendRequest->msg={}", e.getMessage(), e); -// } - return msgs; - } @@ -96,21 +83,6 @@ public class NettyTCPClientHandler extends SimpleChannelInboundHandler { } - private byte[] makeFinalMessage(MessageLite request) { - byte[] messageData = request.toByteArray(); - byte[] packetData = new byte[messageData.length + 16]; - Tea.intToByte(packetData, 0, 10000001); - Tea.intToByte(packetData, 4, 543242); - Tea.intToByte(packetData, 8, 10600); - Tea.intToByte(packetData, 12, 1); - System.arraycopy(messageData, 0, packetData, 16, messageData.length); - - int[] secretKey = Tea.KEY; - byte[] finalData = Tea.encrypt2(packetData, secretKey); - - return finalData; - } - private byte[] makeHeartBeatMessage() { byte[] packetData = new byte[12]; Tea.intToByte(packetData, 0, 10000001); @@ -136,9 +108,14 @@ public class NettyTCPClientHandler extends SimpleChannelInboundHandler { int userId = packetNetData.getUserId(); int token = packetNetData.getToken(); int msgId = packetNetData.getMsgId(); + byte[] packetData = packetNetData.getPacketData(); + + System.out.println("back hartbeat id : "+msgId); + //System.out.println(JsonFormat.printToString()); + // int msgIndex = packetNetData.getIndex(); // int resultCode = packetNetData.getResult(); // byte[] backmessage = packetNetData.parseServerProtoNetData(); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/network/client/NettyTCPClientInitializer.java b/test/src/main/java/network/client/NettyTCPClientInitializer.java similarity index 93% rename from serverlogic/src/main/java/com/ljsd/jieling/network/client/NettyTCPClientInitializer.java rename to test/src/main/java/network/client/NettyTCPClientInitializer.java index c5127e859..c9849ae75 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/network/client/NettyTCPClientInitializer.java +++ b/test/src/main/java/network/client/NettyTCPClientInitializer.java @@ -1,4 +1,4 @@ -package com.ljsd.jieling.network.client; +package network.client; import com.ljsd.jieling.netty.cocdex.ByteBufDecoder; import com.ljsd.jieling.netty.cocdex.ByteBufEncoder;