<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # QLocalSocket Class Reference ## [[QtNetwork](index.htm) module] 該QLocalSocket類提供了一個本地套接字。[More...](#details) 繼承[QIODevice](qiodevice.html)。 ### Types * `enum LocalSocketError { ConnectionRefusedError, PeerClosedError, ServerNotFoundError, SocketAccessError, ..., UnknownSocketError }` * `enum LocalSocketState { UnconnectedState, ConnectingState, ConnectedState, ClosingState }` ### Methods * `__init__ (self, QObject?parent?=?None)` * `abort (self)` * `int bytesAvailable (self)` * `int bytesToWrite (self)` * `bool canReadLine (self)` * `close (self)` * `connectToServer (self, QString?name, QIODevice.OpenMode?mode?=?QIODevice.ReadWrite)` * `disconnectFromServer (self)` * `LocalSocketError error (self)` * `bool flush (self)` * `QString fullServerName (self)` * `bool isSequential (self)` * `bool isValid (self)` * `int readBufferSize (self)` * `str readData (self, int?maxlen)` * `QString serverName (self)` * `setReadBufferSize (self, int?size)` * `bool setSocketDescriptor (self, sip.voidptr?socketDescriptor, LocalSocketState?state?=?QLocalSocket.ConnectedState, QIODevice.OpenMode?mode?=?QIODevice.ReadWrite)` * `sip.voidptr socketDescriptor (self)` * `LocalSocketState state (self)` * `bool waitForBytesWritten (self, int?msecs?=?30000)` * `bool waitForConnected (self, int?msecs?=?30000)` * `bool waitForDisconnected (self, int?msecs?=?30000)` * `bool waitForReadyRead (self, int?msecs?=?30000)` * `int writeData (self, str)` ### Qt Signals * `void connected ()` * `void disconnected ()` * `void error (QLocalSocket::LocalSocketError)` * `void stateChanged (QLocalSocket::LocalSocketState)` * * * ## Detailed Description 該QLocalSocket類提供了一個本地套接字。 在Windows上,這是一個命名管道,并在Unix上,這是一個本地的域套接字。 如果發生錯誤, socketError ()返回的錯誤的類型,并且[errorString](qiodevice.html#errorString)( )可以被調用來獲取發生了什么可讀的描述。 雖然QLocalSocket是專為一個事件循環使用,它可以使用它沒有之一。在這種情況下,您必須使用[waitForConnected](qlocalsocket.html#waitForConnected)( )[waitForReadyRead](qlocalsocket.html#waitForReadyRead)( )[waitForBytesWritten](qlocalsocket.html#waitForBytesWritten)()和[waitForDisconnected](qlocalsocket.html#waitForDisconnected)(),它會阻塞,直到操作完成或超時期滿。 請注意,此功能不支持的Windows版本早于Windows XP 。 * * * ## Type Documentation ``` QLocalSocket.LocalSocketError ``` 該LocalServerError枚舉表示可能發生的錯誤。可以通過調用來檢索最新的錯誤[QLocalSocket.error](qlocalsocket.html#error)( ) 。 | Constant | Value | Description | | --- | --- | --- | | `QLocalSocket.ConnectionRefusedError` | `QAbstractSocket.ConnectionRefusedError` | 連接被對等(或超時)拒絕。 | | `QLocalSocket.PeerClosedError` | `QAbstractSocket.RemoteHostClosedError` | 遠程套接字關閉了連接。請注意,客戶端套接字(也就是該套接字)遠程關閉通知發出后將會關閉。 | | `QLocalSocket.ServerNotFoundError` | `QAbstractSocket.HostNotFoundError` | 本地套接字名未找到。 | | `QLocalSocket.SocketAccessError` | `QAbstractSocket.SocketAccessError` | 套接字操作失敗,因為該應用程序缺乏必要的特權。 | | `QLocalSocket.SocketResourceError` | `QAbstractSocket.SocketResourceError` | 本地系統跑出來的資源(例如,太多的套接字)的。 | | `QLocalSocket.SocketTimeoutError` | `QAbstractSocket.SocketTimeoutError` | 套接字操作超時。 | | `QLocalSocket.DatagramTooLargeError` | `QAbstractSocket.DatagramTooLargeError` | 數據報比操作系統的限制(其可以是低至8192字節)大。 | | `QLocalSocket.ConnectionError` | `QAbstractSocket.NetworkError` | 與連接時出錯。 | | `QLocalSocket.UnsupportedSocketOperationError` | `QAbstractSocket.UnsupportedSocketOperationError` | 不是由本地操作系統支持請求的套接字操作。 | | `QLocalSocket.UnknownSocketError` | `QAbstractSocket.UnknownSocketError` | 發生不明的錯誤。 | ``` QLocalSocket.LocalSocketState ``` 這個枚舉變量描述了不同的狀態,其中一個插座即可。 | Constant | Value | Description | | --- | --- | --- | | `QLocalSocket.UnconnectedState` | `QAbstractSocket.UnconnectedState` | 該套接字沒有連接。 | | `QLocalSocket.ConnectingState` | `QAbstractSocket.ConnectingState` | 插座已經開始建立連接。 | | `QLocalSocket.ConnectedState` | `QAbstractSocket.ConnectedState` | 連接建立。 | | `QLocalSocket.ClosingState` | `QAbstractSocket.ClosingState` | 該插座是即將關閉(數據仍可能等待寫入) 。 | **See also** [QLocalSocket.state](qlocalsocket.html#state)( ) 。 * * * ## Method Documentation ``` QLocalSocket.__init__ (self, QObject?parent?=?None) ``` 該_parent_的說法,如果不是沒有,原因_self_通過Qt的,而不是PyQt的擁有。 創建一個新的本地套接字。該_parent_參數被傳遞給[QObject](qobject.html)的構造。 ``` QLocalSocket.abort (self) ``` 中止當前連接并重置插口。不像[disconnectFromServer](qlocalsocket.html#disconnectFromServer)( ) ,這個函數立即關閉套接字,寫緩沖區清除任何掛起的數據。 **See also** [disconnectFromServer](qlocalsocket.html#disconnectFromServer)()和[close](qlocalsocket.html#close)( ) 。 ``` int QLocalSocket.bytesAvailable (self) ``` 從重新實現[QIODevice.bytesAvailable](qiodevice.html#bytesAvailable)( ) 。 ``` int QLocalSocket.bytesToWrite (self) ``` 從重新實現[QIODevice.bytesToWrite](qiodevice.html#bytesToWrite)( ) 。 ``` bool QLocalSocket.canReadLine (self) ``` 從重新實現[QIODevice.canReadLine](qiodevice.html#canReadLine)( ) 。 ``` QLocalSocket.close (self) ``` 從重新實現[QIODevice.close](qiodevice.html#close)( ) 。 ``` QLocalSocket.connectToServer (self, QString?name, QIODevice.OpenMode?mode?=?QIODevice.ReadWrite) ``` 企圖使一個連接_name_。 該插座是在給定的開_openMode_并首次進入[ConnectingState](qlocalsocket.html#LocalSocketState-enum)。然后,它嘗試連接到由查詢返回的地址或地址。最后,如果建立了連接,[QLocalSocket](qlocalsocket.html)進入[ConnectedState](qlocalsocket.html#LocalSocketState-enum)并發出[connected](qlocalsocket.html#connected)( ) 。 在任何點,該插座能發射[error](qlocalsocket.html#error)()來通知發生了錯誤。 另請參閱[state](qlocalsocket.html#state)( )[serverName](qlocalsocket.html#serverName)()和[waitForConnected](qlocalsocket.html#waitForConnected)( ) 。 ``` QLocalSocket.disconnectFromServer (self) ``` 試圖關閉套接字。如果有掛起的數據等待寫入,[QLocalSocket](qlocalsocket.html)將進入[ClosingState](qlocalsocket.html#LocalSocketState-enum)并等待,直到所有數據已經寫入。最終,將進入[UnconnectedState](qlocalsocket.html#LocalSocketState-enum)和發射disconnectedFromServer ()信號。 **See also** [connectToServer](qlocalsocket.html#connectToServer)( ) 。 ``` LocalSocketError QLocalSocket.error (self) ``` [ 返回上次發生錯誤的類型。 ](qlocalsocket.html#LocalSocketError-enum) [**See also**](qlocalsocket.html#LocalSocketError-enum) [state](qlocalsocket.html#state)()和[errorString](qiodevice.html#errorString)( ) 。 ``` bool QLocalSocket.flush (self) ``` 該函數將盡可能地從內部寫緩沖區到插座,而不會阻塞。如果任何數據被寫入時,該函數將返回True,否則返回False。 調用此函數,如果你需要[QLocalSocket](qlocalsocket.html)立即開始發送緩沖數據。成功寫入的字節數依賴于操作系統。在大多數情況下,你不需要調用這個函數,因為[QLocalSocket](qlocalsocket.html)將自動開始發送數據,一旦控制返回到事件循環。在不存在的事件循環,調用[waitForBytesWritten](qlocalsocket.html#waitForBytesWritten)( )來代替。 **See also** [write](qiodevice.html#write)()和[waitForBytesWritten](qlocalsocket.html#waitForBytesWritten)( ) 。 ``` QString QLocalSocket.fullServerName (self) ``` 返回該套接字被連接到服務器的路徑。 **Note:**這個函數的返回值是特定于平臺的。 **See also** [connectToServer](qlocalsocket.html#connectToServer)()和[serverName](qlocalsocket.html#serverName)( ) 。 ``` bool QLocalSocket.isSequential (self) ``` 從重新實現[QIODevice.isSequential](qiodevice.html#isSequential)( ) 。 ``` bool QLocalSocket.isValid (self) ``` 返回True如果套接字是有效的,并準備使用,否則返回False 。 **Note:**套接字的狀態必須[ConnectedState](qlocalsocket.html#LocalSocketState-enum)閱讀和寫作之前可能發生。 **See also** [state](qlocalsocket.html#state)()和[connectToServer](qlocalsocket.html#connectToServer)( ) 。 ``` int QLocalSocket.readBufferSize (self) ``` 返回內部讀緩沖區的大小。這限制了數據的客戶端可以在打電話之前收取的金額[read](qiodevice.html#read)()或[readAll](qiodevice.html#readAll)( ) 。 0讀緩沖區的大小(默認值)意味著緩沖區有沒有大小限制,以確保數據不會丟失。 **See also** [setReadBufferSize](qlocalsocket.html#setReadBufferSize)()和[read](qiodevice.html#read)( ) 。 ``` str QLocalSocket.readData (self, int?maxlen) ``` 從重新實現[QIODevice.readData](qiodevice.html#readData)( ) 。 ``` QString QLocalSocket.serverName (self) ``` 所指定的返回對端的名稱[connectToServer](qlocalsocket.html#connectToServer)( ) ,或空[QString](qstring.html)如果[connectToServer](qlocalsocket.html#connectToServer)( )沒有被調用或者它失敗了。 **See also** [connectToServer](qlocalsocket.html#connectToServer)()和[fullServerName](qlocalsocket.html#fullServerName)( ) 。 ``` QLocalSocket.setReadBufferSize (self, int?size) ``` 載的大小[QLocalSocket](qlocalsocket.html)的內部讀緩沖區是_size_字節。 如果緩沖區大小被限制為一定的大小,[QLocalSocket](qlocalsocket.html)將不緩存數據超過此大小。特殊情況下,為0的緩沖區大小意味著讀緩存器是無限的,所有輸入的數據進行緩沖。這是默認的。 此選項很有用,如果你只在讀取特定時間點的數據(例如,在實時流應用程序),或者如果你想保護你的插座對接收的數據過多,最終可能導致應用程序用完內存。 **See also** [readBufferSize](qlocalsocket.html#readBufferSize)()和[read](qiodevice.html#read)( ) 。 ``` bool QLocalSocket.setSocketDescriptor (self, sip.voidptr?socketDescriptor, LocalSocketState?state?=?QLocalSocket.ConnectedState, QIODevice.OpenMode?mode?=?QIODevice.ReadWrite) ``` 初始化[QLocalSocket](qlocalsocket.html)與本地套接字描述符_socketDescriptor_。返回True如果socketDescriptor被接受為有效的套接字描述符,否則返回False 。該插座是由指定的模式打開_openMode_,并進入由指定的套接字狀態_socketState_。 **Note:**這是不可能的初始化兩個本地套接字使用相同的本地套接字描述符。 **See also** [socketDescriptor](qlocalsocket.html#socketDescriptor)( )[state](qlocalsocket.html#state)()和[openMode](qiodevice.html#openMode)( ) 。 ``` sip.voidptr QLocalSocket.socketDescriptor (self) ``` 返回的本地套接字描述符[QLocalSocket](qlocalsocket.html)如果對象是可用的,否則返回-1 。 套接字描述符時,無法使用[QLocalSocket](qlocalsocket.html)在[UnconnectedState](qlocalsocket.html#LocalSocketState-enum)。 **See also** [setSocketDescriptor](qlocalsocket.html#setSocketDescriptor)( ) 。 ``` LocalSocketState QLocalSocket.state (self) ``` [ 返回套接字的狀態。 ](qlocalsocket.html#LocalSocketState-enum) [**See also**](qlocalsocket.html#LocalSocketState-enum) [error](qlocalsocket.html#error)( ) 。 ``` bool QLocalSocket.waitForBytesWritten (self, int?msecs?=?30000) ``` 從重新實現[QIODevice.waitForBytesWritten](qiodevice.html#waitForBytesWritten)( ) 。 ``` bool QLocalSocket.waitForConnected (self, int?msecs?=?30000) ``` 等待,直到套接字連接,高達_msecs_毫秒。如果連接已經建立,該函數將返回True,否則返回False 。當它返回False的情況下,你可以調用[error](qlocalsocket.html#error)()來確定錯誤的原因。 下面的例子最多等待1秒,以建立連接: ``` socket->connectToServer("market"); if (socket->waitForConnected(1000)) qDebug("Connected!"); ``` If _msecs_為-1 ,此功能將不會超時。 **See also** [connectToServer](qlocalsocket.html#connectToServer)()和[connected](qlocalsocket.html#connected)( ) 。 ``` bool QLocalSocket.waitForDisconnected (self, int?msecs?=?30000) ``` 等待,直到插座斷開連接,直至_msecs_毫秒。如果連接已經斷開,則該函數返回True,否則返回False 。當它返回False的情況下,你可以調用[error](qlocalsocket.html#error)()來確定錯誤的原因。 下面的例子最多等待一秒鐘的連接被關閉: ``` socket->disconnectFromServer(); if (socket->waitForDisconnected(1000)) qDebug("Disconnected!"); ``` If _msecs_為-1 ,此功能將不會超時。 **See also** [disconnectFromServer](qlocalsocket.html#disconnectFromServer)()和[close](qlocalsocket.html#close)( ) 。 ``` bool QLocalSocket.waitForReadyRead (self, int?msecs?=?30000) ``` 從重新實現[QIODevice.waitForReadyRead](qiodevice.html#waitForReadyRead)( ) 。 此功能塊,直到數據可供讀取和[readyRead()](qiodevice.html#readyRead)信號已經發出。之后,該函數將超時_msecs_毫秒,默認的超時時間為30000毫秒。 如果數據可供讀取該函數返回True ,否則返回False (如果發生錯誤或者操作超時) 。 **See also** [waitForBytesWritten](qlocalsocket.html#waitForBytesWritten)( ) 。 ``` int QLocalSocket.writeData (self, str) ``` 從重新實現[QIODevice.writeData](qiodevice.html#writeData)( ) 。 * * * ## Qt Signal Documentation ``` void connected () ``` 這是該信號的默認超載。 之后此信號被發射[connectToServer](qlocalsocket.html#connectToServer)( )被調用,并連接已成功建立。 **See also** [connectToServer](qlocalsocket.html#connectToServer)()和[disconnected](qlocalsocket.html#disconnected)( ) 。 ``` void disconnected () ``` 這是該信號的默認超載。 當插座已斷開這個信號被發射。 **See also** [connectToServer](qlocalsocket.html#connectToServer)( )[disconnectFromServer](qlocalsocket.html#disconnectFromServer)( )[abort](qlocalsocket.html#abort)()和[connected](qlocalsocket.html#connected)( ) 。 ``` void error (QLocalSocket::LocalSocketError) ``` 這是該信號的默認超載。 這個信號被發射時發生錯誤之后。該_socketError_參數描述發生錯誤的類型。 [QLocalSocket.LocalSocketError](qlocalsocket.html#LocalSocketError-enum)是不是注冊的元類型,所以排隊的連接,你將不得不用它注冊[Q_DECLARE_METATYPE](qmetatype.html#Q_DECLARE_METATYPE)()和[qRegisterMetaType](qmetatype.html#qRegisterMetaType)( ) 。 **See also** [error](qlocalsocket.html#error)( )[errorString](qiodevice.html#errorString)()和[Creating Custom Qt Types](index.htm)。 ``` void stateChanged (QLocalSocket::LocalSocketState) ``` 這是該信號的默認超載。 這個信號被發射時[QLocalSocket](qlocalsocket.html)的狀態變化。該_socketState_參數是新的狀態。 QLocalSocket.SocketState是不是注冊的元類型,所以排隊的連接,你將不得不用它注冊[Q_DECLARE_METATYPE](qmetatype.html#Q_DECLARE_METATYPE)()和[qRegisterMetaType](qmetatype.html#qRegisterMetaType)( ) 。 **See also** [state](qlocalsocket.html#state)()和[Creating Custom Qt Types](index.htm)。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看