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);
我送這樣的字節的數據,我想用C++如何在C++解析數據
在C++來解析它在我的Linux服務器上,我讀
char *pdata = new char[BUF_SIZE];
int dataLength = read(m_events[i].data.fd, pdata, BUF_SIZE);
和推將pdata放入pthread的隊列中。我想我要讀第一個字節看包的類型和閱讀下一8字節來獲得設備ID等.. 請給我一些參考或教程做這在C++代碼..
在此先感謝..
感謝您的回答。我在網上查找,並使用fstream和iostream發現了一個代碼。這和使用memcpy一樣嗎?您能否提供任何使用這些fstream和iostream的教程或示例?提前致謝.. – user800799 2011-06-17 05:38:24