2010-12-03 2 views
0

Я пытаюсь разработать, как вы предполагали, многопользовательскую сеть. Первый этап - выяснить, могу ли я получить соединение с моим сервером. Whooptydoo, банк 80 работает! : DC# System.Net.Sockets.Socket.Connect() help

Однако порт 81, 90, 2700, 8092 и любые другие порты, которые я пытаюсь выполнить, НЕ работают.

Теперь у меня есть ощущение, что это может быть потому, что на другом конце нет ничего, чтобы принять мое соединение. Потому что это шаг ДВА в определении сети (для меня, в любом случае), я не решаюсь пойти туда.

Я разблокировал порт, к которому я хочу подключиться. (Я разрешил как входящие, так и исходящие TCP-соединения).

Это то, что я использую, чтобы начать сокет:

s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); 

Для подключения:

s.Connect(hostEndPoint); 

Для создания hostEnpoint:

hostEndPoint = new IPEndPoint(hostAddress, conPort); 

я не получаю исключения ошибок, или ничего подобного. Код просто кажется замороженным, когда он подключается().

Я попытался заблокировать порт 80, а затем запустил код для подключения к 80, и произойдет то же самое.

Итак, я немного близко к тому, что не так? Может быть, это что-то еще? Мне нужно сделать программу для ACCEPT соединений на этом порту, а затем запустить ее на сервере?

Большое спасибо, ребята. :)

ответ

1

В этом случае, вы можете использовать старое окно DOS (cmd.exe) и используйте

телнет хост-порт

команду и проверьте результат ошибки. Отключение соединения показывает, что нет слушателя, время ожидания подключения указывает на межсетевой экран. Также проверьте свой брандмауэр Windows для любой блокировки.

+0

Я мак, так что, к сожалению, это не вариант для меня. ;) Есть ли какие-либо терминальные эквиваленты mac? – 2010-12-03 07:06:41