2013-05-03 105 views
0

我有一些客戶需要連接到服務器並保持連接一段時間(大約4小時)。我不想爲每個客戶端指定不同的連接端口(因爲它們可能有很多),我希望它們能夠在特定的預定端口(例如10800)上連接到服務器,並讓服務器接受並保持連接但仍能夠接收來自新客戶端的其他連接。有沒有辦法在Python中做到這一點,或者我需要重新考慮架構。如何接收和管理同一端口上的多個TCP連接?

EXTRA CREDIT:這樣做的服務器代碼的Python片段將會非常棒!

回答

1

我不想指定不同的連接端口爲每個客戶端(因爲有可能很多人)

你不需要這一點。

我想他們只是爲了能夠連接到服務器上的特定預定端口如10800,而在服務器接受並保持連接,但仍然能夠從新客戶收到其他連接

TCP就是這樣工作的。

只需創建一個偵聽端口10800的套接字並接受來自它的連接。

0

使用select.select()可檢測多個套接字上的事件,如傳入連接,傳入數據,傳出緩衝區容量和連接錯誤。您可以在多個偵聽套接字上以及來自單個線程的已建立的連接上使用此功能。使用網絡搜索,您一定可以找到示例代碼。

相關問題