记录一下在使用Qt进行网络编程时遇到的一些问题以及注意点。
- 在使用QTCPSocket进行通信的时候,要注意一下对于它的readyRead信号和槽连接过程需要在执行过QTCPServer的nextPendingConnection函数之后进行,也就是说先用一个pTcpSocket = pTctServer->nextPendingConnection()获得这次连接的网络套接字结束的时候,才能进行该套接字的信号和槽的连接。
- 网络编程中遇到的一些错误信息,一般情况下在Qt的网络编程遇到错误的时候,Qt不会停止程序报错之类的操作,而是会发出一个QAbstractSocket::SocketError的错误信号,程序中需要体现出对于该错误信息的处理,如果不处理的话,可能会出现问题。
- 在连接意外断开时候的处理方式:
a.在启动客户端的时候就进行重连,无论服务器是否启动(也就是说,在客户端启动的时候,只要发现没有连接到服务器,就一直进行连接操作)。
b.在客户端异常断开,或者是判定断开(比如多少秒没有收到消息)的情况下,进行重连。