首页 文章

C客户端和Java Server消息

提问于
浏览
-1

我有一个TCP / IP套接字程序,客户端程序是用c编写的 . 服务器程序是用Java编写的 . 从客户端发送到服务器套接字的消息是字节,整数和IP地址的序列 . 为了减小消息的大小,我只想发送字节并只接收字节,然后在服务器端进行转换 . diff值之间没有分隔符 .

  • 为此,应在客户端执行哪些代码将所有这些值转换为要发送的字节数组?

  • 如果我们要从c发送int,那么我在服务器端会得到什么?

  • 如何发送和接收IP地址?

我知道如果我事先知道数据类型中的字节数(例如int是c中的4个字节),在我的服务器中我可以使用ByteBuffer将即将到来的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 Server中我使用ByteBuffer进行转换 . 这是正确的方法吗?

1 回答

  • 0

    只需确定将发送哪些字节,然后对决策进行双方编码 . 如果整数必须在0到30,000的范围内,那么你可以决定先使用高字节的两个字节 . 您可以选择任何您想要的东西,只需在两侧进行适当的编码 .

相关问题