簡體   English   中英

TCP服務器IP客戶端連接問題

[英]TCP Server IP Client Connection Issue

好的,所以我剛開始使用c#弄亂TCP,並且我已經成功設置了一個服務器,可以向其發送“ Hello World”消息,無論如何,我一直在本地進行此操作(因為兩台筆記本電腦都已連接到同一路由器),我只是使用192.168號碼進行連接。 但是它的全部目的是通過互聯網工作,並且路由器的IP地址對於兩台計算機來說顯然是相同的,如果我輸入路由器的IP地址不起作用,並且如果我輸入的192.168號碼肯定不會的話,不能通過Internet工作...那么我要使用什么IP,或者什么是更好的解決方案?

這是重要的代碼行

 var client = ScsClientFactory.CreateClient(new ScsTcpEndPoint("192.168.1.142", 10085));

其中192.168.1.142是筆記本電腦的本地IP,服務器已啟動

10085是端口。

您必須將路由器配置為將到端口10085的任何傳入連接轉發到本地IP地址。 這樣,任何人都可以使用您的外部IP地址進行連接。

每個路由器都有其自己的配置系統,因此您必須在Google中搜索“端口轉發”和路由器型號。

這取決於您想達到的目標。 例如,如果您正在創建聊天應用程序。 客戶端(在路由器后面)可以說其本地IP為192.168.1.111,路由器IP為80.120.78.100。 客戶端將連接到服務器。

建立連接后,發送回客戶端就沒有關系,因為客戶端和服務器之間的連接已經打開,因此服務器將使用相同的連接。 路由器會找出將數據包“路由”到的位置,通常您不需要了解這些內容。

但是,如果您的服務器是尋找客戶端的服務器,那就不一樣了。

我將嘗試解釋一些有關網絡的信息,但是您必須進行搜索

基本上 ,將一個IP掩碼 (例如192.168.1.0理解為一個網絡。 路由器的作用是連接不同的網絡,這就是為什么路由器通常具有WAN(寬)和LAN(本地)兩個端口的原因。

有了這個概念,您就可以將Internet視為由各種ISP連接而成的一個大型網絡。 每個ISP都有一個通往其網絡的路由器,而另一個則為您提供Internet連接。 最后,您在家中有一台路由器。 因此,從中您可以了解到有3個網絡連接在一起:您的家庭,您的ISP和Internet。

為了使您能夠連接到我家里的計算機,我必須從互聯網上使這台計算機可用,我必須將其發布 我是通過在路由器上設置NAT (網絡區域轉換)來實現的。 此NAT表示“任何來自Internet的端口12345,都將轉發到端口80的192.168.1.10(我的服務器)”。

這是一個非常簡單的解釋,好嗎?


現在,讓我們退后一步。 如果網絡上有另一台計算機可用,則可以使用更簡單的方法測試程序是否正常運行。

  1. 將兩台計算機都連接到您的LAN ,這樣它們將獲得相似的IP地址。 假設它們是192.168.1.10192.168.1.20
  2. 10運行服務器並禁用所有類型的防火牆(Windows和第三方)
  3. 20運行客戶端,然后嘗試連接到服務器

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM