从C#向QT发送消息

时间:2014-05-19 09:36:38

标签: c# c++ sockets tcpclient qtcpserver

我需要从C#客户端(3.5)向QT服务器发送字符串。一切正常,除了服务器端的一件事我必须检查前2行字节的行的大小。 (我不能只是无限制地列出客户端)。我尝试将行的大小放在行的第一个字节,但它在服务器端读错了。所以问题是如何将字符串的长度放入字符串的前2个字节?

在QT,它是这样做的:

QByteArray arrBlock;
QDataStream out(&arrBlock, QIODevice::WriteOnly);
out << quint16(0) << "string";
out.device() -> seek(0);
out << **quint16(arrBlock.size() - sizeof(quint16));**
socket->write(arrBlock);

但在C#中它只是

NetworkStream serverStream;
byte[] bytes = ...GetBytes("string");
serverStream.write
serverStream.flush

我无法找到向服务器写入消息大小的方法。

0 个答案:

没有答案
相关问题