Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 90 # Create our socket stream to listen on.
- 91 serv = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- 92
- 93 #serv.settimeout(5)
- 94 serv.setblocking(0)
- 95
- 96 # Bind the address.
- 97 serv.bind(('', self.PORT))
- 98 serv.listen(5)
- 99
- 100 try:
- 101 # Now start listening for a connection!
- 102 (self._sock, remote_address) = serv.accept()
- 103 except socket.timeout:
- 104 logger.debug('Socket connection failed!')
- 105 raise DBGPServerNotFoundError(
- 106 'No connection was established coming from '
- 107 '"%(address)s:%(port)i".' % {
- 108 'address':self.ADDRESS,
- 109 'port':self.PORT,
- 110 })
- 111 else:
- 112 logger.debug('Socket connection established! The other end of '
- 113 'the connection is at "%s:%i".' % remote_address)
- 114 finally:
- 115 serv.close()
- File "/home/lee/projects/vim-debug/repo/vimbug/dbgp.py", line 100, in connect
- (self._sock, remote_address) = serv.accept()
- File "/usr/lib/python2.6/socket.py", line 197, in accept
- sock, addr = self._sock.accept()
- error: [Errno 11] Resource temporarily unavailable
- 56 con.connect()
- 57 pydbgp_proc = subprocess.Popen(
- 58 ('pydbgp.py', '-d', 'localhost:%i' % OPTIONS['pydbgp_port'],
- 59 OPTIONS['debug_file']),
- 60 stdout=subprocess.PIPE,
- 61 stderr=subprocess.PIPE,)
- 77 def listen(self):
- 78 # Create our socket stream to listen on.
- 79 serv = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- 80
- 81 #serv.settimeout(5)
- 82 serv.setblocking(0)
- 83
- 84 # Bind the address.
- 85 serv.bind(('', self.PORT))
- 86 serv.listen(5)
- 87 self.serv = serv
- 88
- 89 def accept(self):
- 90 (newsock, newaddr) = self.serv.accept()
- 57 con.listen()
- 58 pydbgp_proc = subprocess.Popen(
- 59 ('pydbgp.py', '-d', 'localhost:%i' % OPTIONS['pydbgp_port'],
- 60 OPTIONS['debug_file']),
- 61 stdout=subprocess.PIPE,
- 62 stderr=subprocess.PIPE,)
- 63 con.accept()
- File "/home/lee/projects/vim-debug/repo/vimbug/dbgp.py", line 90, in accept
- (newsock, newaddr) = self.serv.accept()
- File "/usr/lib/python2.6/socket.py", line 197, in accept
- sock, addr = self._sock.accept()
- error: [Errno 11] Resource temporarily unavailable
- 89 def accept(self):
- 90 rfds, wfds, xfds = select.select([self.serv], [], [], 1)
- 91
- 92 if self.serv in rfds:
- 93 print 'Read ready..?'
- 94 (newsock, newaddr) = self.serv.accept()
- 95 else:
- 96 print 'Not ready..?'
- import socket
- import select
- SERVER_SOCKADDR = ("", 424242)
- server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- server.setblocking(0) # <------------------
- server.bind(SERVER_SOCKADDR)
- server.listen(5)
- client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- client.setblocking(0)
- result = client.connect_ex(SERVER_SOCKADDR)
- rfds, wfds, xfds = select.select([server], [client], [], 1)
- if server in rfds:
- print "Server socket: accept does not block"
- sockfd, addr = server.accept() # sockfd.send() and sockfd.recv() to
- # write and read the stream...
- sockfd.setblocking(0)
- print sockfd, addr
- else:
- print "Server socket: accept blocks"
- if client in wfds:
- print "Client socket: write does not block"
- else:
- print "Client socket: write blocks"
- server.close()
- client.close()
- [mpenning@Bucksnort ~]$ python socket_test.py
- Server socket: accept does not block
- <socket._socketobject object at 0xb75764c4> ('127.0.0.1', 35810)
- Client socket: write does not block
- [mpenning@Bucksnort ~]$
Add Comment
Please, Sign In to add comment