[PyQt] Having a problem with QTcpSocket
Phil Thompson
phil at riverbankcomputing.com
Mon Nov 23 19:52:18 GMT 2009
On Mon, 23 Nov 2009 19:39:36 +0100, Nick Gaens <nickgaens at gmail.com> wrote:
> Hans-Peter Jansen schreef:
> On Monday 23 November 2009, 15:19:06 Nick Gaens wrote:
>
> Hans-Peter Jansen schreef:
>
> [...]
>
> ----------------------------
> def __init__(self):
> self.server = QtNetwork.QTcpServer(self)
> self.server.serverPort = 55555
> self.server.newConnection.connect(self.clientConnecting)
> self.server.listen() # defaults to QHostAddress.Any
>
> def clientConnecting(self): # used by the "server"
> if self.server.hasPendingConnections():
> connectingClient =
> self.server.nextPendingConnection()
>
> connectingClient.readyRead.connect(self.receiveData)
>
> def connectToClient(self, ip): # used by the "client"
> socket = QtNetwork.QTcpSocket()
> socket.readyRead.connect(self.receiveData)
> socket.connectToHost(QtNetwork.QHostAddress(ip), 55555) #
> ip of
> server if socket.waitForConnected(5000):
> print "Connected!"
> ----------------------------
>
> [...]
>
> How odd that I receive this mail *the moment* my code started working
> :-P.
>
> I found that the serverPort may not be overwritten.
>
> I removed this assignment:
>
> self.server.serverPort = 55555
>
> Assigning properties this way usually won't work in PyQt (although Phil
> tackles this already).
>
> try this:
> self.server.listen(QtNetwork.QHostAddress.Any, 55555)
>
> and the clients now can connect to the server w/o any problem.. Downside
> is that the port is random..
>
> Pete
>
> _______________________________________________
> PyQt mailing list PyQt at riverbankcomputing.com [1]
> http://www.riverbankcomputing.com/mailman/listinfo/pyqt [2]
>
> Hmm.. That doesn't seem to work :-S..
>
> self.server.listen(QtNetwork.QHostAddress.Any, 55555):
> TypeError: argument 1 of QTcpServer.listen() has an invalid
> type
>
> How can this be? I've got PyQt4.6.2 on WinXP, Python 2.6.4
It should be...
self.server.listen(QtNetwork.QHostAddress(QtNetwork.QHostAddress.Any),
55555)
Phil
More information about the PyQt
mailing list