久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Qt模塊化筆記之network——TcpServer與監(jiān)聽說明

 紫殿 2015-01-16
http://blog.csdn.net/iloveqt5/article/details/19471587
QTcpServer用函數(shù)
bool listen(const QHostAddress & address = QHostAddress::Any, quint16 port = 0)
監(jiān)聽某個(gè)端口,,如果有新連接進(jìn)來就發(fā)出newConnection()信號(hào),連接過程中出錯(cuò)的話就發(fā)出acceptError(QAbstractSocket::SocketError socketError)信號(hào),。

在接受連接的過程中,,應(yīng)當(dāng)是有一個(gè)隊(duì)列,等待的連接都將放入連接隊(duì)列中,,名詞PendingConnections中的Pending意為即將發(fā)生的,,在等待中的。

當(dāng)隊(duì)列中有等待的連接時(shí),,可用函數(shù)

virtual QTcpSocket * nextPendingConnection()
獲得這個(gè)連接,,并為這個(gè)連接分配一部"電話"(即函數(shù)返回的QTcpSocket),通信就建立了,。然后可通過這個(gè)返回的QTcpSocket與客戶端通信,。值得注意的是,這個(gè)返回的socket不可用于另一個(gè)線程,。

這是一種方式,,另一種方式可繼承這個(gè)類,重寫它的Protected Function:

virtual void incomingConnection(qintptr socketDescriptor)

這個(gè)函數(shù)在有連接時(shí)自動(dòng)執(zhí)行,。

socketDescriptor為套接字描述符,,通俗理解為,系統(tǒng)為這個(gè)連接進(jìn)來的套接字自動(dòng)分配了個(gè)ID,,用于區(qū)分不同套接字,,是個(gè)整數(shù)值。將這個(gè)ID傳給套接字就行了,。網(wǎng)上說它和文件的句柄類似,。

————————————————————————————————————————————————————————————
下面看下這個(gè)QTcpServer
公有函數(shù):
  1.     QTcpServer(QObject * parent = 0)  
  2.     virtual ~QTcpServer()  
  3.   
  4. void    setMaxPendingConnections(int numConnections)//設(shè)置等待連接隊(duì)列中連接的最大數(shù)量,默認(rèn)30  
  5. void    setProxy(const QNetworkProxy & networkProxy)//為它設(shè)置代理  
  6. bool    setSocketDescriptor(qintptr socketDescriptor)//手動(dòng)設(shè)置套接字描述符,,取代系統(tǒng)自動(dòng)分配  
  7. bool    listen(const QHostAddress & address = QHostAddress::Any, quint16 port = 0)//監(jiān)聽某端口  
  8.   
  9. virtual QTcpSocket *    nextPendingConnection()//獲得隊(duì)列中的下一個(gè)連接  
  10. void    pauseAccepting()//停止接受新連接  
  11. void    resumeAccepting()//重啟接受新連接  
  12. void    close()  
  13. bool    waitForNewConnection(int msec = 0, bool * timedOut = 0)//阻塞方式接受新連接,,msec為設(shè)置超時(shí)時(shí)間,單位毫秒  
  14.   
  15. QAbstractSocket::SocketError    serverError() const  
  16. QString     errorString() const//產(chǎn)生錯(cuò)誤的字符串  
  17. int     maxPendingConnections() const  
  18. QNetworkProxy   proxy() const  
  19. qintptr socketDescriptor() const  
  20. QHostAddress    serverAddress() const  
  21. quint16     serverPort() const  
  22. bool        isListening() const  
  23. virtual bool    hasPendingConnections() const  

Signals
void acceptError(QAbstractSocket::SocketError socketError)
void newConnection()
Protected Functions
void addPendingConnection(QTcpSocket * socket)
virtual void incomingConnection(qintptr socketDescriptor)

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多