final byte LOGIN_REQUEST = 1;
long deviceId = 123456789;
String nickname = "testid";
Socket mSocket = new Socket("localhost", 12021);
ByteBuffer bBuffer = ByteBuffer.allocate(1);
bBuffer.order(ByteOrder.LITTLE_ENDIAN);
//1
bBuffer.put(LOGIN_REQUEST);
//8
bBuffer.putLong(deviceId);
byte[] bString = nickname.getBytes();
int sLength = bString.length;
//4
bBuffer.putInt(sLength);
bBuffer.put(bString);
Я отправляю байтовые данные вот так и хочу проанализировать их на своем linux-сервере с помощью c ++
В c ++ я читаю
char *pdata = new char[BUF_SIZE];
int dataLength = read(m_events[i].data.fd, pdata, BUF_SIZE);
и нажимаю pdataв очередь pthread.Я думаю, что мне нужно прочитать первый байт, чтобы увидеть тип пакета, и прочитать следующие 8 байт, чтобы получить идентификатор устройства и т. Д. Пожалуйста, дайте мне несколько ссылок или учебник, чтобы сделать это в коде c ++ ..
Заранее спасибо ..