[英]c# simple server to receive connection from internet
我已經制作了一個簡單的服務器,使用tcplisten在本地運行,並且可以在本地網絡上正常工作,例如(127.0.0.11:8888)。
但是,現在如何從互聯網接收與服務器的連接,我應該設置什么IP和端口?
謝謝
您仍然可以使用8888。只需確保防火牆設置允許該端口的傳入連接即可。
假設這是Windows計算機,並且假設它是一個簡單的網絡(即您的防火牆將連接從8888轉發到內部IP,或者該計算機具有適當的外部暴露接口),則您應該能夠通過公共連接與計算機的接口。 如果要使用特定的IP地址(127.0.0.1)實例化偵聽器,則可能會阻止連接。
您可以使用IPAddress.Any或在配置中保存IP列表,然后從磁盤加載IP。
IPEnpoint e = new IPEndPoint(IPAddress.Any, 8888)
TcpListener l = new TcpListener(e);
您可能需要檢查是否在某種NAT盒后面。 您可以通過從類似whatismyip的互聯網站點上檢查自己的IP並將其與計算機的IP進行比較來實現。
您還應該更改防火牆規則以允許傳入連接。
PS:默認情況下,Web瀏覽器連接到端口80。您可以通過在URL中提及端口(例如-http: //www.example.com: 8080/ index.html)來連接到其他端口。
您需要做一些事情:
1)登錄到您的路由器並設置端口轉發:
2)向防火牆添加例外,以允許來自所需端口的TCP通信。
3)找出路由器的公共IP地址(嘗試http://www.myipaddress.com ),然后嘗試使用該地址連接到服務器。
那應該就是您要做的。
您需要在網絡上設置防火牆規則,以將進入該端口上公共IP的所有流量轉發到運行服務器應用程序的計算機的內部IP地址。
您的服務器將需要在具有實時IP的計算機上運行。 服務器可以將其自身綁定到默認IP,也可以顯式提供要綁定的IP地址。 只要沒有其他服務器應用程序在同一IP:Port上進行偵聽,端口就不是問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.