low level networking in python
Maxim Veksler
hq4ever at gmail.com
Tue Apr 3 18:57:20 EDT 2007
On 3 Apr 2007 08:43:57 -0700, kyosohma at gmail.com <kyosohma at gmail.com> wrote:
> On Apr 3, 10:29 am, "Maxim Veksler" <hq4e... at gmail.com> wrote:
> > Hello,
> >
> > I wish to do some low level network stuff using python.
> >
> > --
> > Cheers,
> > Maxim Veksler
> >
> > "Free as in Freedom" - Do u GNU ?
>
> I would assume you could use the socket module. This post details
> someone else who opened ports with Python:
>
> http://www.thescripts.com/forum/thread44280.html
>
> Here's another resource using some python servers:
>
> http://docs.python.org/lib/socket-example.html
>
> Finally, a Socket programming howto:
> http://www.amk.ca/python/howto/sockets/
>
> I'm also told that the Twisted framework is excellent for this sort of
> thing.
>
Thanks for the heads-up. The sockets howto was great help.
I'm trying to bind a non-blocking socket, here is my code:
"""
#!/usr/bin/env python
import socket, select
from time import sleep
s_nb10000 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s_nb10000.setblocking(0)
s_nb10000.bind(('192.168.2.106', 10002))
s_nb10000.listen(5)
while 1:
conn, addr = s_nb10000.accept()
ready_to_read, ready_to_write, in_error = select.select([conn], [], [], 0)
print (ready_to_read, ready_to_write, in_error)
sleep(100)
s_nb10000.close()
"""
And this is the exception I'm getting:
"""
python non_blocking_socket.py
Traceback (most recent call last):
File "non_blocking_socket.py", line 13, in ?
conn, addr = s_nb10000.accept()
File "/usr/lib/python2.4/socket.py", line 161, in accept
sock, addr = self._sock.accept()
socket.error: (11, 'Resource temporarily unavailable')
"""
What am I doing wrong here?
p.s.
I've looked at twisted before posting this post. I've seen they
impelement alot of application level protocols but I didn't see much
treatment for low level "raw" network data, not to mention that it's a
way way over kill for what I'm asking to achieve. Twisted does have a
subproject called "Twisted Pair: Low-level networking" but sadly it's
unmaintained and undocumented.
> Mike
>
Maxim.
--
Cheers,
Maxim Veksler
"Free as in Freedom" - Do u GNU ?
More information about the Python-list
mailing list