Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.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中使用bytebuffer创建数据包bytearray_Java_Bytearray_Bytebuffer - Fatal编程技术网

在Java中使用bytebuffer创建数据包bytearray

在Java中使用bytebuffer创建数据包bytearray,java,bytearray,bytebuffer,Java,Bytearray,Bytebuffer,如何在Java中生成字节[]形式的数据包?我知道应该使用ByteBuffer来完成,然后我需要将其设置为byte[],并通过DataOutputStream发送它。 如何在Java中生成字节[]形式的数据包?我知道应该使用ByteBuffer来完成,然后我需要将其设置为byte[],并通过DataOutputStream发送它。 不,你不知道。你可以: 使用ByteBuffer直接通过频道发送,不使用中间字节[] 使用环绕文件或套接字输出流的DataOutputStream,同样不使用中间by

如何在Java中生成字节[]形式的数据包?我知道应该使用
ByteBuffer
来完成,然后我需要将其设置为byte[],并通过
DataOutputStream发送它。

如何在Java中生成字节[]形式的数据包?我知道应该使用
ByteBuffer
来完成,然后我需要将其设置为byte[],并通过
DataOutputStream发送它。

不,你不知道。你可以:

  • 使用
    ByteBuffer
    直接通过
    频道发送,不使用中间
    字节[]
  • 使用环绕文件或套接字输出流的
    DataOutputStream
    ,同样不使用中间
    byte[]
  • 使用
    DataOutputStream
    包装在
    ByteArrayOutputStream
    周围,从中获取
    字节[]
    数组,并发送
    字节[]
    数组。除非您试图构建的是一个
    DatagramPacket
    ,否则这种技术是不必要的

为什么不使用
ByteBuffer
本身并使用通道而不是
DataOutputStream
?为什么是
数据输出流
?也许你应该多解释一下你的作业及其限制条件。@realpoint如果有其他方法,请告诉我。我正在尝试将数据包发送和接收到游戏服务器,然后您应该展开您的问题,并准确解释游戏服务器需要什么样的数据包以及使用什么协议。您还应该做一些研究,看看其他人是否已经为该游戏服务器编写了代码,或者有类似要求的东西,您应该阅读有关套接字、通道和缓冲区的内容。