Hi, yes the empty string does default to localhost when using the connect function. I have tried swapping it just for purposes of clarity and the program still runs as before sending only once but having issues reconnecting after the socket has been closed.
On Mon, Aug 15, 2011 at 11:57 PM, Kyriakos Zarifis <kyr.zari...@gmail.com>wrote: > Hey, > > is the listening socket on the local host? if so, can you try: > self.sock.connect(("localhost",5000)) > instead of: > self.sock.connect(("",5000)) > ? > > (I'm not sure I've seen connect take an empty string as an argument for the > host. Do you know that python defaults that to "localhost"?) > > On Mon, Aug 15, 2011 at 2:15 PM, chris oleke <chrisol...@gmail.com> wrote: > >> Murphy, the thing is I'd pretty much want to maintain the sockets that I'm >> using at the moment since the third party application is tailored to work >> with them. When I send the data from NOX, I have to close the sockets >> because the data won't be received on the other end if the sockets remain >> open. My flow stats are generated every 10 seconds so my aim is to have them >> sent continously. I had previously tried using sock.setblocking(0) but >> encountered an error *"operation already in progress"* so abandoned using >> it. >> >> >> On Sat, Aug 13, 2011 at 2:34 AM, Murphy McCauley <jam...@nau.edu> wrote: >> >>> It has been long enough since I've looked at the co-op threading in NOX >>> that I don't immediately know what the problem you're having with the file >>> descriptors going away is. You're sure you're not calling close() on them? >>> You could try setting the socket to non-blocking mode with >>> sock.setblocking(0). >>> >>> It might be possible to get asynccore to work, but I think it'd probably >>> be some trouble. Twisted, on the other hand, should more or less just work. >>> I think you can probably look at the NOX webservice stuff for a bit of an >>> example, but it shouldn't be much different than any other Twisted code. >>> >>> Or if you would be okay with communicating with the other process via >>> JSON strings, you could use jsonmessenger. Look in monitoring.py from the >>> monitoring component for an example. >>> >>> Hope that helps. >>> >>> -- Murphy >>> >>> On Aug 12, 2011, at 2:03 PM, chris oleke wrote: >>> >>> Hi >>> >>> >>> Hopefully this is still within the Nox domain. I have a python >>> application that is using sockets to send out flows that I have obtained >>> from a flow_stats_in_event to an application external of Nox. This is how >>> I’m doing it >>> self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) >>> self.sock.connect(("",5000)) >>> self.sock.send(repr(flows)) >>> self.sock.close() >>> >>> Unfortunately I can only send the flows once before the sockets close >>> after which I get the errors below >>> self.sock.send(repr(flows)) >>> File "/usr/lib/python2.6/socket.py", line 167, in _dummy >>> raise error(EBADF, 'Bad file descriptor') >>> error: [Errno 9] Bad file descriptor >>> >>> >>> It’s obviously as a result of trying to send information out on a socket >>> that’s been closed. I have tried to look at asyncore and see if I can have >>> an asynchronous socket but haven’t had any luck and my application’s seems >>> to lock/freeze the few times I have tried. Is there a way I can have the >>> socket remain connected so I can have flows sent constantly and also be able >>> to receive data when sent from the external application. I would like a >>> demonstration as well if it’s possible. >>> >>> >>> Thanks >>> >>> Chris >>> _______________________________________________ >>> nox-dev mailing list >>> nox-dev@noxrepo.org >>> http://noxrepo.org/mailman/listinfo/nox-dev >>> >>> >>> >> >> _______________________________________________ >> nox-dev mailing list >> nox-dev@noxrepo.org >> http://noxrepo.org/mailman/listinfo/nox-dev >> >> >
_______________________________________________ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev