[Tutor] Networking

Evert Rol evert.rol at gmail.com
Sat Oct 2 21:40:33 CEST 2010

> Dear Tutors,
>     I have attached my 2 programs for networking. It uses socket and SocketServer, but it just simplifies it even more. The problem is it won't work. The Client raises the error, (with trace back)
> Traceback (most recent call last):
>   File "G:\My Dropbox\My Dropbox\Chris\Not done\client.py", line 34, in <module>
>     print client.recv()
>   File "G:\My Dropbox\My Dropbox\Chris\Not done\client.py", line 16, in recv
>     return self.__sock.recv(1024)
> error: [Errno 10053] An established connection was aborted by the software in your host machine
> The server seems to get an error of some sort, but also seems to catch and print it. It prints
> ----------------------------------------
> Exception happened during processing of request from ('', 1424)
> Traceback (most recent call last):
>   File "C:\Python26\lib\SocketServer.py", line 281, in _handle_request_noblock
>     self.process_request(request, client_address)
>   File "C:\Python26\lib\SocketServer.py", line 307, in process_request
>     self.finish_request(request, client_address)
>   File "C:\Python26\lib\SocketServer.py", line 320, in finish_request
>     self.RequestHandlerClass(request, client_address, self)
> TypeError: 'NoneType' object is not callable
> ----------------------------------------
> I look at both of the documentations of socket and SocketServer, but I couldn't firgue it out. I don't know much about networking. Please Help

I don't know much about networking, less so about it on Windows; also, I've only scanned quickly through the server script, but I notice your create_handler() function doesn't return anything. I guess it needs to return the Handler class.
The example in the Python docs doesn't use a factory function, but instead directly puts the class as the second argument to TCPServer. 
So the second argument needs to be a class, but since your create_handler() function returns nothing, you presumably get this NoneType exception.


More information about the Tutor mailing list