当前位置: 代码迷 >> QT开发 >> qt写的tcp socket程序客户端只能和用qt写的服务端通信吗?解决方案
  详细解决方案

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

热度:125   发布时间:2016-04-25 05:00:59.0
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();
  相关解决方案