С# System.Net.Sockets.Socket.Connect() справка

Я пытаюсь разработать, как вы уже догадались, многопользовательские сети. Первый этап — выяснить, могу ли я подключиться к своему серверу. Whooptydoo, горшок 80 работает! :D

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

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

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

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

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

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

s.Connect(hostEndPoint);

Чтобы создать hostEnpoint:

hostEndPoint = new IPEndPoint(hostAddress, conPort);

Я не получаю исключений ошибок или чего-то в этом роде. Код просто зависает, когда доходит до connect().

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

Итак, я хоть немного близок к тому, что не так? Может ли это быть что-то еще? Нужно ли мне создавать программу для ПРИНЯТИЯ подключений к этому порту, а затем запускать ее на сервере?

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


person Georges Oates Larsen    schedule 03.12.2010    source источник


Ответы (1)


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

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

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

person weismat    schedule 03.12.2010
comment
Я Mac, так что, к сожалению, это не вариант для меня. ;) Есть ли какой-нибудь эквивалент терминала Mac? - person Georges Oates Larsen; 03.12.2010
comment
На Mac это называется терминалом. Там же доступна та же самая команда с тем же синтаксисом. - person weismat; 03.12.2010
comment
Потрясающий! Я проверю это. :) - person Georges Oates Larsen; 03.12.2010
comment
Хм, у меня тайм-аут. Я почти уверен, что мой брандмауэр не блокирует порт, как и мой сервер. - person Georges Oates Larsen; 03.12.2010
comment
Итак, ответа нет, но данные отправляются - значит, что-то блокирует ответ. - person weismat; 03.12.2010
comment
Я не запрограммировал никакую программу, чтобы принять соединение. Возможно ли, что это часть проблемы? - person Georges Oates Larsen; 03.12.2010