[Twisted-Python] What does soap.Proxy.callRemote() do that simple client.getPage() doesn't ?
Roland Hedberg
roland.hedberg at adm.umu.se
Fri Jun 29 07:11:32 EDT 2007
Hi!
I have two similar implementation of senders, one using HTTP "PUT" and
the other SOAP (and a put operation).
The core of the soap sender are the lines:
proxy = soap.Proxy(recv)
return proxy.callRemote('put',data)
While the HTTP one uses:
return client.getPage(recv, method="PUT", postdata=data, headers=headers)
Basically soap.Proxy.callRemote() uses client.getPage() though with the
method POST instead of PUT. So there are some clear similarities here.
Now, I also have a dispatcher which uses either of these senders
depending on various reasons.
The crux is that when there is a continuous flow of data leaving by HTTP
"PUT" I see no problems, while when the same happens for SOAP, after a
while I see complains about "twisted.internet.error.ConnectBindError:
Couldn't bind: 24: Too many open files.".
I guess files in this instance equates to internet connections.
If so, is that because soap.Proxy.callRemote() doesn't close down the
connections in the same way as a direct call to client.getPage() does ?
There is obviously something I don't understand here.
Anyone that can enlighten me ?
And tell me how to get rid of the connections.
Running Twisted 2.5.0
-- Roland
More information about the Twisted-Python
mailing list