2017-06-19 302 views
-5

好了,所以我必須在端口1302上運行的TCP我已經轉發端口服務器IP我的路由器上。但是,客戶端和服務器如何向對方發送消息......客戶端是否也必須向前端口轉發。如果是這樣,有沒有辦法解決這個問題?C#TCP服務器客戶端

+0

退一步,想像你是別人的,閱讀的第一次這個問題。你能理解OP在說什麼嗎? – stybl

+1

我真的不明白。在端口1302上運行的TCP意味着什麼?你有哪些服務器,你有哪些客戶?你想通過互聯網或本地網絡進行溝通嗎?提供足夠的細節非常重要。一般來說,如果您具有「真正的客戶端 - 服務器」通信,則客戶端與服務器進行通信,並且服務器會發迴響應,因此不需要端口轉發客戶端。 – Artholl

+0

接收傳入連接時需要Portforwarding。 **(客戶端)**如果您的客戶端在防火牆後面,它將啓動連接,防火牆知道客戶端在哪裏跟蹤雙方。 **(服務器)**您的服務器將等待客戶端啓動連接。如果您的客戶端從互聯網連接,它將首先到達您的防火牆/路由器,如果您沒有端口轉發,您的路由器不知道如何處理它,並會拒絕連接請求。 –

回答

0

我假設你已經在本地網絡中的服務器(即沒有全球IP地址),並設置端口轉發你的路由器有你的應用程序客戶端發送消息,其在服務器上運行在端口1302上,對不對?如果是這樣,客戶端不需要設置其端口轉發,因爲它由本地提供商網絡自動完成。典型的是:沒有全局IP的服務器(收入消息監聽器)需要端口轉發,但客戶端(誰是第一個發送消息)不需要端口轉發。