qt写的tcp socket程序客户端只能和用qt写的服务端通信吗?解决方案

qt写的tcp socket程序客户端只能和用qt写的服务端通信吗?
C/C++ code

QByteArray block;
QDataStream out(&block, QIODevice::WriteOnly);
out.setVersion(QDataStream::Qt_4_0);



比如这是在qt tcpsocket开发过程中常用的一段代码,这里最后有一个setVersion,我在网上看到说是这是用来设置数据流的版本,客户端和服务器端使用的版本要相同 ,难道说另一端的程序也得是qt写的吗,不然就无法解析这个流?

还有我的客户端是qt写的,服务端是C#控制台,我只想让他们间传一下字符串,怎么做呢?
谢谢

------解决方案--------------------
当然不是,你给出的代码只是对数据流做出约定,并不影响网络通讯协议。

想发字符串也比较简单,在QTcpSocket中调用write("hello")就可以啦
------解决方案--------------------
写操作应该是异步的,你还没等他写完就断开连接了。
int adf=tcpSocket->bytesToWrite();
//这里应该等待写操作完成,或者在写操作完成的回调中断开连接。
tcpSocket->disconnectFromHost();