我正在創建某種位於服務器和客戶端之間的網關。 所謂的網關應該過濾客戶端發送的一些數據包,並轉發99%的數據包。套接字數據包轉發
這裏是我的問題:
客戶端打開一個新的套接字到網關,我打開一個套接字從網關服務器並將其存儲在進一步使用列表。但是,在一種情況下,所有的連接都來自同一個IP,因此在選擇將數據包轉發到服務器的套接字時,我的選擇有限。我怎樣才能區分打開的套接字?
從以前的情況,我期待着大約500客戶端發送數據包的每一秒。性能方面,我應該使用多線程模型,還是堅持使用單線程應用程序?
仍然是一個性能問題:我有C#和Python之間做出選擇。哪一個應該提供更好的性能?
客戶端的身份驗證是通過它在服務器上的套接字描述符完成的,沒有更高級別的協議。 對於1%的數據包,我將不得不做一些數據庫檢查,並且我不希望流程中出現任何重大延遲。 –
@your_average_programmer:怎麼會有沒有更高層次的協議?如果數據沒有任何意義,你使用套接字是什麼? – abarnert