The QSctpServer class provides an SCTP-based server. 更多...
| 頭: | #include <QSctpServer> |
| qmake: | QT += network |
| Since: | Qt 5.8 |
| 繼承: | QTcpServer |
| QSctpServer (QObject * parent = nullptr) | |
| virtual | ~QSctpServer () |
| int | maximumChannelCount () const |
| QSctpSocket * | nextPendingDatagramConnection () |
| void | setMaximumChannelCount (int count ) |
| const QMetaObject | staticMetaObject |
| virtual void | incomingConnection (qintptr socketDescriptor ) override |
The QSctpServer class provides an SCTP-based server.
SCTP 是充當流行 TCP 和 UDP 協議類似角色的傳輸層協議。像 UDP,SCTP 麵嚮消息,但它采用像 TCP 的擁塞控製以確保消息的可靠、按順序傳輸。見 QSctpSocket 文檔編製瞭解更多協議細節。
QSctpServer 是方便子類化的 QTcpServer 允許您以 TCP 仿真或數據報方式接受傳入 SCTP 套接字連接。
最常見方式是使用 QSctpServer is to construct an object and set the maximum number of channels that the server is prepared to support, by calling setMaximumChannelCount ()。可以把負自變量傳遞給此調用,設置 TCP 仿真模式。另外,特殊值 0 (默認) 指示把對等方的值用作實際通道數。新的傳入連接從服務器套接字描述符繼承此數,並根據遠程端點設置調節它。
In TCP emulation mode, accepted clients use a single continuous byte stream for data transmission, and QSctpServer acts like a plain QTcpServer 。調用 nextPendingConnection () 以接受待決連接作為已連接 QTcpSocket 。函數返迴的指針指嚮 QTcpSocket in QAbstractSocket::ConnectedState 可以使用它與客戶端進行通信。此模式隻允許訪問基本 SCTP 協議特徵。套接字在係統級通過 IP 傳輸 SCTP 數據包,和交互透過 QTcpSocket 接口采用應用程序。
相比之下,數據報模式麵嚮消息,並在端點之間提供多數據流的完整同時傳輸。調用 nextPendingDatagramConnection () 以接受待決數據報模式連接作為已連接 QSctpSocket .
注意: Windows 平颱不支持此特徵。
另請參閱 QTcpServer , QSctpSocket ,和 QAbstractSocket .
構造 QSctpServer 對象。
設置數據報操作模式。 parent 自變量會被傳遞給 QObject 的構造函數。
另請參閱 setMaximumChannelCount (), listen (),和 setSocketDescriptor ().
[虛擬]
QSctpServer::
~QSctpServer
()
銷毀 QSctpServer 對象。若服務器正在監聽連接,套接字會自動關閉。
另請參閱 close ().
[override virtual protected]
void
QSctpServer::
incomingConnection
(
qintptr
socketDescriptor
)
重實現自 QTcpServer::incomingConnection ().
返迴被接受套接字能夠支持的最大通道數。
0 值 (默認) 意味著連接通道數將由遠程端點進行設置。
返迴 -1,若 QSctpServer 運行在 TCP 仿真模式下。
另請參閱 setMaximumChannelCount ().
返迴下一待決數據報模式連接作為已連接 QSctpSocket 對象。
數據報模式連接提供麵嚮消息的多流通信。
套接字是作為服務器子級創建的,意味著會自動刪除它當 QSctpServer 對象被銷毀。明確刪除對象仍是好主意當這樣處理時,以避免浪費內存。
此函數返迴 null,若沒有待決數據報模式連接。
注意: 返迴的 QSctpSocket 對象不可以用於另一綫程。若想要從另一綫程使用傳入連接,需要覆蓋 incomingConnection ().
另請參閱 hasPendingConnections (), nextPendingConnection (),和 QSctpSocket .
把服務器準備在數據報模式下支持的最大通道數設為 count 。若 count 為 0,將使用端點最大通道數值。負 count 設置 TCP 仿真模式。
纔調用此方法當 QSctpServer 處於 UnconnectedState。
另請參閱 maximumChannelCount () 和 QSctpSocket .