擅长:python、mysql、java
<blockquote>
<p>Now what happens when another client also connects to this server? Does the conn and addr variables get overwritten with the new values? Or how is it handled?</p>
</blockquote>
<p>在您的例子中,不会发生任何有趣的事情。尝试连接将挂起。对<code>connect()</code>的每个客户端调用都必须与对<code>accept()</code>的服务器调用匹配。由于只调用<code>accept()</code>一次,最多只能有一个客户端连接。在</p>
<p>如果希望能够连续地接受来自后续客户端的连接,请尝试以下操作:</p>
<pre><code>import socket
host = '' # Symbolic name meaning all available interfaces
port = 12345 # Arbitrary non-privileged port
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host, port))
s.listen(1)
while True:
conn, addr = s.accept()
print('Connected by', addr)
while True:
data = conn.recv(1024)
if not data: break
conn.sendall(data)
conn.close()
</code></pre>
<p>如果您希望能够并行地接受来自客户端的连接,即同时从多个客户端接收连接,那么您还有更多的工作要做。但这并不是你今天的问题。在</p>