2012-07-06 168 views
0

我想单凭文档来学习Qt,它有点困难。我设法让一个简单的命令行聊天客户端工作,但我不知道如何发送东西。大约需要4直观的代码行从Qt的插座阅读,但由于某种原因,我不能说为什么我不能用QTcpSocket的write()方法发送数据?

QTcpSocket socket; 
socket.connectToHost("google.com", 80); 
socket.write("hey"); 
socket.flush(); 

的flush();返回false,但我不明白为什么。

我真的不明白为什么这不起作用,并希望得到任何帮助。谢谢!

+1

你是否实现了一个插槽来接收'QAbstractSocket :: error(QAbstractSocket :: SocketError socketError)'应该发生错误? – Matthew 2012-07-06 21:55:30

回答

3

connectToHost()后,你需要有一个时隙处理器为connected()或致电waitForConnected()的权利,通过尝试建立连接之前写等待连接到主机来完成,否则你的代码是缩放。

+0

我用waitForConnected()...它使flush()返回true,但它并没有真正的工作(没有出现在我的Java聊天客户端)。 – ICoffeeConsumer 2012-07-06 22:07:36

相关问题