我有一个TCP/IP套接字程序,客户端程序是用C++编写的。服务器程序是用Java编写的。从客户端发送到服务器套接字的消息是一个字节,一个整数和一个IP地址的序列。为了减少消息的大小,我只想发送字节并仅接收字节,然后在服务器端进行转换。差异值之间没有分隔符。C++客户端和Java服务器消息
要做到这一点什么代码应该在客户端执行将所有这些值转换成字节数组发送?
如果我们要从C++发送int,我会在服务器端得到什么?
如何发送和接收IP地址?
我知道,如果我事先知道一个数据类型的字节数(例如int是++在C 4个字节),在我的服务器我可以使用字节缓冲区的未来4个字节数组转换到一个int。
请让我知道如果任何人有一个基本的解决方案。谢谢,
EDITED 所以我写这样的事情来转换说的int字节数组中的C++客户端::
#include <vector>
using namespace std;
vector<unsigned char> intToBytes(int paramInt)
{
vector<unsigned char> arrayOfByte(4);
for (int i = 0; i < 4; i++)
arrayOfByte[3 - i] = (paramInt >> (i * 8));
return arrayOfByte;
}
和Java服务器我使用的ByteBuffer转换回。 这是正确的方法吗?
为什么倒投票? – kavita