Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-Netty拆分消息字节_Java_Byte_Netty - Fatal编程技术网

Java-Netty拆分消息字节

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

我正试图用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 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的问题是什么?如何在一条消息中获取完整字节,而不是在三条消息中获取拆分字节?