2013-03-10 2 views
0

Я сделал чат-сервер в C# с помощьюКакой IP-адрес следует использовать для размещения моего чат-сервера?

Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.TCP); 
s.Bind(IPAddress.Parse(theIP),thePort); 

Но тогда я получаю

"SocketException было необработанное, Запрошенный адрес не является действительным в его контексте"

Как искать правильный IP-адрес? cmd ipconfig IPv4Address? Потому что этот IP (я считаю) для внутреннего IP. Я хочу, чтобы IP-адрес сервера был внешним IP-адресом, доступным из-за пределов моей сети.

ответ

0

Вам необходимо создать статический путь (иногда называемый переадресацией портов) на вашем маршрутизаторе, привязывающий один из ваших внешних IP/портов к внутреннему адресу и порт, необходимый для вашего чат-сервера. Затем вы укажете свой внутренний IP-адрес в своей сети в своем коде.

+0

Если я не делаю это с помощью маршрутизатора и использую модем USB, есть ли способ, с помощью которого я могу программно установить IP-адрес сервера и IP-адрес клиентского приложения для подключения? – Frapie

+0

IP-адрес, который вам нужен для ваших клиентов, - это ваш внешний IP-адрес. Введите «whats my ip address» в Google, и он отобразит его вверху, или вы можете щелкнуть по любой из ссылок, чтобы получить назначенный вам IP-адрес. Если вы используете USB-модем, у вас, вероятно, есть динамический IP-адрес, назначенный вашему провайдеру интернет-услуг, что означает, что он меняется сейчас и потом. Так как это постоянное решение, это не сработает. Но вы можете использовать свой динамический IP до тех пор, пока он не изменится. –

+0

Вам нужно будет открыть порты, используемые на брандмауэре Windows. –

Смежные вопросы