Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.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 将tdata帧发送到套接字_Java_Android_Byte_Frame - Fatal编程技术网

Java 将tdata帧发送到套接字

Java 将tdata帧发送到套接字,java,android,byte,frame,Java,Android,Byte,Frame,字节[]demande=新字节[2]; 让我们假设demande是一个数据帧,它将被发送到套接字。 如果我想发送200,字节[0]和字节[1]应该是什么。我尝试写入字节[0]=1和字节[1]=-56(1*256-56)=200,但不起作用。怎么办?我假设数字200是一个十进制值。 由于200小于255,它将适合一个字节,因为200的十六进制值是0xC8 所以在你的情况下,你有两个选择。哪一个是正确的取决于您使用的协议 或者 byte[] demande = { 0x00, 0xC8 }; //

字节[]demande=新字节[2]; 让我们假设demande是一个数据帧,它将被发送到套接字。
如果我想发送200,字节[0]和字节[1]应该是什么。我尝试写入字节[0]=1和字节[1]=-56(1*256-56)=200,但不起作用。怎么办?

我假设数字200是一个十进制值。 由于200小于255,它将适合一个字节,因为200的十六进制值是0xC8

所以在你的情况下,你有两个选择。哪一个是正确的取决于您使用的协议

或者

byte[] demande = { 0x00, 0xC8 };  // little endian

或者如果你愿意的话

byte[] demande = new byte[2];
demande[0] = 0x00;
demande[1] = 0xC8;

(小端点)

我假设数字200是一个十进制值。 由于200小于255,它将适合一个字节,因为200的十六进制值是0xC8

所以在你的情况下,你有两个选择。哪一个是正确的取决于您使用的协议

或者

byte[] demande = { 0x00, 0xC8 };  // little endian

或者如果你愿意的话

byte[] demande = new byte[2];
demande[0] = 0x00;
demande[1] = 0xC8;
(little endian)

您可以使用该类创建字节数组。如果要将整数200转换为字节数组:

ByteBuffer b = ByteBuffer.allocate(2);
b.putInt(0x000000c8);

byte[] result = b.array();
可以使用该类创建字节数组。如果要将整数200转换为字节数组:

ByteBuffer b = ByteBuffer.allocate(2);
b.putInt(0x000000c8);

byte[] result = b.array();

0xC8不被接受,最大0x80被接受,因为我认为它是一个有符号字节-128到128@pape如果不阅读与您通信的设备的协议,就很难给出更好的建议。您可以尝试发送三个字节,如byte[]demande={2',0',0'};如果它是一个ASCII协议。0xC8不被接受,最大0x80被接受,因为我认为它是一个有符号字节-128到128@pape如果不阅读与您通信的设备的协议,就很难给出更好的建议。您可以尝试发送三个字节,如byte[]demande={2',0',0'};如果是ASCII协议。