Интранет ASP.NET TcpClient

Я разрабатываю приложение в ASP.NET с использованием Visual Basic, которое должно подключаться к серверу в моей частной сети. Приложение должно работать только в моей сети (в будущем оно может работать и в Интернете), теперь у меня проблема с TcpClient на ASP.NET: если я подключаюсь к серверу, используя экземпляр IPAddress

Client = New TcpClient
Client.Connect(New IPAddress("192.168.1.12"), 6001)

сокет пытается подключиться к 176.64.116.11 (это не мой общедоступный IP-адрес...), иначе, если я подключаюсь к серверу со строкой, содержащей локальный IP-адрес

Client = New TcpClient
Client.Connect("192.168.1.12", 6001)

Socket успешно подключается, но ничего не отвечает на мою команду (с NetworkStream.Write и Read). Я пробую все это в приложении Windows, и все работает успешно.

Спасибо всем (я ошибся в английском? Ахаха, извините :D)

PS. Если вы пришлете мне какой-нибудь код на C#, не волнуйтесь, я могу его перевести


person full98    schedule 31.07.2013    source источник
comment
Аналогичный вопрос: ссылка   -  person JeremiahDotNet    schedule 31.07.2013


Ответы (1)


TcpClient имеет различные перегрузки, вы можете указать string, содержащий IP-адрес, или объект IPAddress.

Кроме того, используйте

IPAddress ipAddress = IPAddress.Parse("192.168.1.12");

IPAddress не содержит конструктора, который принимает string.

http://msdn.microsoft.com/en-us/library/system.net.sockets.tcpclient.connect.aspx

Что касается вашей проблемы с передачей; отключить брандмауэры. Сначала попробуйте локальный хост.

person Sam Leach    schedule 31.07.2013
comment
Спасибо за разъяснение разбора класса IPAddress. Я отключил брандмауэр на своем ПК, где работает веб-сервер, но он не работает... 192.168.1.12 — это не мой компьютер, на котором работает веб-сервер. Я заметил, что TcpClient успешно подключается к серверу, потому что, если я изменю значение адреса в Client.Connect на другой IP-адрес, он вызовет исключение SocketException. 192.168.1.12 работает! Но не получать мои сообщения. Это код... skydrive.live.com/ Большое спасибо! - person full98; 31.07.2013