Home · All Classes · Modules  · QSS HELP  · QSS 案例 · VER007 HOME

QLocalServer Class Reference
[QtNetwork module]

该QLocalServer类提供了一个基于本地套接字服务器。More...

继承QObject

Methods

Static Methods

Qt Signals


Detailed Description

该QLocalServer类提供了一个基于本地套接字服务器。

这个类使得它可以接受传入本地套接字连接。

Call listen( )让服务器开始侦听在指定的键进入的连接。该newConnection( )信号,然后每个客户端连接到服务器时发出的。

Call nextPendingConnection( )接受挂起的连接作为一个连接QLocalSocket。该函数返回一个指针,指向一个QLocalSocket可以用于与客户机进行通信。

如果发生错误,serverError()返回的错误的类型,并且errorString( )可以被调用来获取发生了什么可读的描述。

当侦听连接,服务器正在侦听的名称,可通过serverName( ) 。

调用close( )使得QLocalServer停止侦听传入的连接。

虽然QLocalServer是专为一个事件循环使用,它可以使用它没有之一。在这种情况下,您必须使用waitForNewConnection( ) ,这阻止,直到一个连接可用或者超时。


Method Documentation

QLocalServer.__init__ (self, QObject parent = None)

parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。

创建一个新的本地套接字服务器与给定parent

See also listen( ) 。

QLocalServer.close (self)

停止侦听传入的连接。现有的连接将不受影响,但任何新的连接将被拒绝。

See also isListening()和listen( ) 。

QString QLocalServer.errorString (self)

返回人类可读的消息恰当报告的当前错误serverError( ) 。如果没有合适的字符串是可用的,则返回一个空字符串。

See also serverError( ) 。

QString QLocalServer.fullServerName (self)

返回该服务器监听的完整路径。

注:这是具体平台

See also listen()和serverName( ) 。

bool QLocalServer.hasPendingConnections (self)

返回True ,如果服务器有一个挂起的连接,否则返回False 。

See also nextPendingConnection()和setMaxPendingConnections( ) 。

QLocalServer.incomingConnection (self, sip.voidptr socketDescriptor)

这个虚函数被调用QLocalServer当一个新的连接可用。socketDescriptor对于接受连接的本地套接字描述符。

该基地实现创建一个QLocalSocket,设置套接字描述符,然后存储QLocalSocket在挂起连接的内部清单。最后newConnection()被发射。

重新实现这个函数来改变服务器的行为,当一个连接可用。

See also newConnection( )nextPendingConnection()和QLocalSocket.setSocketDescriptor( ) 。

bool QLocalServer.isListening (self)

如果服务器正在侦听传入连接,否则为False ,则返回True 。

See also listen()和close( ) 。

bool QLocalServer.listen (self, QString name)

告诉服务器侦听传入的连接name。如果服务器当前正在侦听那么它将返回False 。返回True成功,否则为False 。

name可以是单一的名称和QLocalServer将确定正确的特定于平台的路径。serverName( )将返回传递到听的名字。

通常你会只是通过像“foo”的名称,但在Unix上,这也可能是诸如“ / tmp目录/富”的路径,在Windows上,这可能是一个管道的路径,例如“ \ \ \管道\富” 。对于以下路径的VxWorks必须始终使用“ / comp/socket/0xNumber ”,其中“ 0xNumber ”是十六进制格式的16位数字的字符串表示形式。例如“ / comp/socket/0x00AA ” 。

注意:在Unix上,如果不关闭服务器崩溃听会失败, AddressInUseError 。创建该文件应该被删除新服务器。在Windows两个本地服务器可以听同一管道的同时,但任何连接将转到服务器之一。

See also serverName( )isListening()和close( ) 。

int QLocalServer.maxPendingConnections (self)

返回未决接受的连接的最大数目。默认值是30 。

See also setMaxPendingConnections()和hasPendingConnections( ) 。

QLocalSocket QLocalServer.nextPendingConnection (self)

返回的连接下一个待连接QLocalSocket对象。

套接字被作为服务器的一个子创建的,这意味着它被自动删除时QLocalServer对象被销毁。它仍然是一个好主意,明确地删除的对象,当你用它做,以避免浪费内存。

如果这个函数被调用时,有没有挂起的连接则返回0 。

See also hasPendingConnections( )newConnection()和incomingConnection( ) 。

bool QLocalServer.removeServer (QString name)

删除可能导致调用任何服务器实例listen()失败,如果成功返回True,否则返回False 。此功能是为了从崩溃中,当以前的服务器实例还没有被清理回收。

在Windows中,这个函数不做任何事情;在Unix上,它消除由给定的套接字文件name

Warning:要小心,以避免删除运行实例的插座。

此功能被引入Qt的4.5 。

QAbstractSocket.SocketError QLocalServer.serverError (self)

最后返回NOERROR或发生错误的类型。

See also errorString( ) 。

QString QLocalServer.serverName (self)

返回如果服务器正在监听等待连接的服务器名,否则返回的QString ( )

See also listen()和fullServerName( ) 。

QLocalServer.setMaxPendingConnections (self, int numConnections)

设置挂起接受的最大连接数numConnectionsQLocalServer将接受不超过numConnections前传入的连接nextPendingConnection()被调用。

注:即使QLocalServer将停止接受新的连接后,它已经达到了挂起连接的最大数量,操作系统可能仍然让他们在队列中,这将导致客户端的信号,它是连通的。

See also maxPendingConnections()和hasPendingConnections( ) 。

(bool, bool timedOut) QLocalServer.waitForNewConnection (self, int msecs = 0)

最多等待msec毫秒或直到传入的连接是可用的。返回True如果连接可用,否则返回False 。如果操作超时,timedOut不为0 , * TIMEDOUT将被设置为True。

这是一个阻塞函数调用。它的使用是不明智的单线程GUI应用程序,因为整个应用程序将停止响应,直到函数返回。当没有事件循环可用waitForNewConnection ( )是最有用。

非阻塞的替代方法是连接到newConnection()信号。

如果毫秒为-1 ,此功能将不会超时。

See also hasPendingConnections()和nextPendingConnection( ) 。


Qt Signal Documentation

void newConnection ()

这是该信号的默认超载。

每当一个新的连接是可用的,这个信号被发射。

See also hasPendingConnections()和nextPendingConnection( ) 。




PyQt 4.10.3 for X11 Copyright © Riverbank Computing Ltd and Nokia 2012 Qt 4.8.5