7stud <[EMAIL PROTECTED]> writes:

> When you surf the Web, say to http://www.google.com, your Web browser
> is a client. The program you contact at Google is a server. When a
> server is run, it sets up business at a certain port, say 80 in the
> Web case. It then waits for clients to contact it. When a client does
> so, the server will usually assign a new port, say 56399, specifically
> for communication with that client, and then resume watching port 80
> for new requests.

Actually the client is the one that allocates a new port.  All
connections to a server remain on the same port, the one it listens
on:

>>> s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
>>> s.bind(('127.0.0.1', 10000))
>>> s.listen(1)
>>> s.accept()
# now, connect to port 10000 from elsewhere
(<socket._socketobject object at 0xb7adf6f4>, ('127.0.0.1', 36345))
>>> s1 = _[0]
>>> s1
<socket._socketobject object at 0xb7adf6f4>
>>> s1.getsockname()
('127.0.0.1', 10000)        # note the same port, not a different one
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to