
Transport Layer Security(TLS,即 SSL)
|
575
print('Echo:', s)
new_sock.close()
print('Disconnected from', address)
servsock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
servsock.bind(('localhost', 8881))
servsock.listen(5)
print('Serving at', servsock.getsockname())
with cf.ThreadPoolExecutor(20) as e:
try:
while True:
new_sock, address = servsock.accept()
e.submit(handle, new_sock, address)
except KeyboardInterrupt:
pass
finally:
servsock.close()
這個伺服器有其限制。特別是,它只執行 20 個執行緒,所以它無法同時服
務超過 20 個客戶端;在有 20 個客戶端正被服務的同時,試著連接的其他
客戶端會在
servsock
的接聽佇列(listening queue)中等候,而(如果那個
佇列填滿了五個等候被接受的客戶端)後續嘗試連接的客戶端會直接被拒
絕。這個伺服器單純是說明用途的一個基本範例,而非要作為穩固、可擴
展規模或安全的系統。
Transport ...