2013-01-24 44 views
0

我是新來的套接字,並有一些關於他們在.NET中使用的問題。這是一個消費者程序,因此用戶運行服務器和客戶端時不會有任何擴展問題。套接字連接應該保持打開狀態,並且它們是否需要管理員權限?

1)在服務器關閉之前保持套接字連接處於打開狀態還是更好?還是僅當用戶請求並在完成時關閉它纔打開連接?這不是一個真正的時間遊戲,因此請求會是間歇性的,但是在打開套接字連接時是否有任何缺點?

2)插座是否要求用戶擁有管理權限,如果他們正在運行服務器?我環顧四周,看起來似乎是RAW套接字,但我打算使用Stream或Dgram,而不是根據哪個最適合我的程序。

回答

1
  1. 如果你正在談論一個單一的插座,然後不,它不是一個大問題 讓它打開。有很多端口可用,如果您的套接字只是處於等待狀態,它將消耗可忽略的系統資源量。
  2. TCP和UDP套接字連接不需要管理員權限即可打開。 但是,根據用戶的防火牆設置,可能需要防火牆 以允許您的應用程序進行外部連接並取決於防火牆軟件,即可能 或可能不需要管理員權限。
+0

謝謝你的回覆。這將是最少數量的連接(最多3-5個,但通常只有1個),並且它們都連接到相同的端口。儘管用戶可以選擇其端口號作爲默認值,但我的程序是否可以使用列爲非官方的任何可用端口? http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers – XSL

+1

從技術上講,你可以使用任何你喜歡的端口,它只是被認爲是粗魯的。特別是如果它是一個定期與某種服務相關的端口。但是,是的,任何非官方的港口都應該沒問題。 –

相關問題