Java-Netty拆分消息字节
我正试图用Netty 3从客户端向服务器发送消息 该信息包括: 400串 210个整数 消息平均字节数:3400 客户端正在成功发送消息,问题出在服务器上,服务器正在拆分字节Java-Netty拆分消息字节,java,byte,netty,Java,Byte,Netty,我正试图用Netty 3从客户端向服务器发送消息 该信息包括: 400串 210个整数 消息平均字节数:3400 客户端正在成功发送消息,问题出在服务器上,服务器正在拆分字节 Client: sent 3400 bytes. Server: received 1024 bytes. Server: received 2048 bytes. Server: received 328 bytes. 编码: public void sendFriendList(final Player pl
Client: sent 3400 bytes.
Server: received 1024 bytes.
Server: received 2048 bytes.
Server: received 328 bytes.
编码:
public void sendFriendList(final Player player) {
final int friendsSize = player.getFriendsIgnores().getFriends().size();
final OutputStream stream = new OutputStream(12500);
stream.writeSmart(83); //packet ID
stream.writeShort(friendsSize); //number of friends
stream.writeInt(player.getPlayerDefinition().index()); //player id
for (int id : player.getFriendsIgnores().getFriends()) { //array of integers
stream.writeInt(id);
stream.writeString(PlayerLoader.getUsername(id));
stream.writeString(PlayerLoader.getDisplayName(id));
stream.writeInt(PlayerLoader.getWorld(id));
}
session.write(stream);
}
解码:
case 83:
int friendsSize = stream.readUnsignedShort();
int playerId = stream.readInt();
player = World.get(playerId);
if (player != null) {
for (int i = 0; i < friendsSize; i++) {
int id = stream.readInt();
username = stream.readString();
displayName = stream.readString();
world = stream.readInt();
player.getFriendsIgnores().addFriendDetails(id, username, displayName, world);
}
}
break;
案例83:
int-friendsize=stream.readUnsignedShort();
int playerId=stream.readInt();
player=World.get(playerId);
如果(玩家!=null){
for(int i=0;i
Tom的问题是什么?如何在一条消息中获取完整字节,而不是在三条消息中获取拆分字节?