Networking Problems

Jonathan Gardner jgardn at alumni.washington.edu
Tue Feb 12 10:59:00 CET 2002


Simon Crosby wrote:

> Hi
> 
> I have recently tried programming a text network game using sockets in
> python as detailed in "Programming Python" 2nd ed. I developed this on
> linux and used telnet as a client. Then I tried connecting to the game
> server with windows telnet. This showed the text very differently,
> ignoring newlines and when prompting for input takes any character as a
> newline. It does not matter if the server is run on linux or windows.
> Attached is my networking code.
> 

You'll want to use "\012\015" explicitly as a newline. This is both for 
input and output.

Windows telnet sends characters as they are typed. Linux telnet defaults to 
sending whole lines rather than individual characters. The best way is to 
collect input from the client until the client sends "\012\015".

Also, your whole design is lacking. You'll need a server that can 
handle multiple connections. I suggest using non-blocking sockets and 
select. It's better to build the server like this from the beginning 
because it affects how you do everything.

Jonathan



More information about the Python-list mailing list