powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Windows [игнор отключен] [закрыт для гостей] / Службы и сетевые порты
11 сообщений из 11, страница 1 из 1
Службы и сетевые порты
    #37724024
leon777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем добрый вечер!

У меня работала программа в виде windows оконного приложения, которая открывала сетевой порт и по нему осуществлялось взаимодействие с удаленными устройствами.

Сейчас я перенес проект из windows оконного приложения в windows службу. Порт открывается (виден в netstat), но из вне его не видно...

Подскажите пожалуйста в чем может быть проблема???
...
Рейтинг: 0 / 0
Службы и сетевые порты
    #37724097
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема может быть в правах. Служба наверняка выполняется из под ограниченной учетки, а не из под учетки пользователя.
...
Рейтинг: 0 / 0
Службы и сетевые порты
    #37724144
leon777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
брандмауэр...
...
Рейтинг: 0 / 0
Службы и сетевые порты
    #37724235
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приведи вывод netstat
...
Рейтинг: 0 / 0
Службы и сетевые порты
    #37725798
leon777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
После настройки разрешений в брандмауэре Windows server 2008 проблема разрешилась частично.

Раньше (когда порт блокировался брандмауэром) при попытке коннекта к порту была ошибка SocketException errorCode = 10060 - истек таймаут...

А сейчас, когда брандмауэр разрешает коннект к порту (или вообще вырублен) я могу несколько раз

подключится к порту, но потом все равно ошибка:


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
private void button1_Click(object sender, EventArgs e)
{
     try
     {
          TcpClient client = new TcpClient("XXX.XXX.XXX.XXX", XXXX);

	  Console.WriteLn("Connect!");
     }
     catch(Exception e)
     {
	  Console.WriteLn(e.Message);
     } 
     finally
     {
          client.Close();
     }

}



OUTPUT:


Connect!
Connect!
Connect!
Connect!
SocketException Socket errorСщву = 10061 WSAECONNREFUSED


Антивирусника нет. Что может быть еще??? Тот же код в оконном варианте работает нормально, а со службой проблемы
...
Рейтинг: 0 / 0
Службы и сетевые порты
    #37726362
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну как-бы... TcpClient - это, рискну предположить, таки клиент...

Вы его пытаетесь открыть. Если в эксепшен не выволились, то считаете что законнектились, а разве это так? Я не знаком с .Net(на нем же пример кода?) но в стародавние времена(на API), было принято проверять на то, открыт ли сокет или нет.
Как то так.
Код: plaintext
1.
2.
if ((raw_socket = socket(AF_INET, SOCK_RAW, IPPROTO_IP)) == INVALID_SOCKET)
        return printf("-ERR:socket(,SOCK_RAW,) -> %d\n", WSAGetLastError());


Разве всякая неудачная попытка создания сокета приведет к эксепшену...?

Если сокет открылся, то вы его сразу закрываете. А что, по вашему, это должно произойти мгновенно? Вообще-то нет - в зависимости от того, как написан сервер. Как последствия, у сервера может заканчиваться пул соединений или типа того...

Если часто открывать/закрывать сокеты, то это сильно смахивает на сканирование хоста - одна из причин, по которой брандмауэр может блокировать соединение.

P.S.
Сначало изучите мат.часть(теорию) а потом уже кодить начинайте.
Может быть поможет...
...
Рейтинг: 0 / 0
Службы и сетевые порты
    #37726371
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вернее, блокировать будет даже не брандауэры, а сама подсистема WinSock.
...
Рейтинг: 0 / 0
Службы и сетевые порты
    #37726373
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
10061 - удаленный хост отверг запрос на подключение. Или Вы не понимаете смысл этой ошибки?
...
Рейтинг: 0 / 0
Службы и сетевые порты
    #37726517
leon777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The Dim!


По документации конструктор TcpClient "...connects to the specified port on specified host"

Идея с отвержением подключения очень правдоподобно, НО это происходит ТОЛЬКО для службы, а когда порт открывается
win-оконным приложением (на той же машине), то я могу конектиться к порту хоть сто раз! Брандмауэр выключен, антивира нет.

Так вы говорите контроль может осуществлять сама систем WinSock? Но конект не работает только для службы!

Ну что же это может быть????
...
Рейтинг: 0 / 0
Службы и сетевые порты
    #37726657
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А службу-то вы от имени чего запустили? Конкретного аккаунта или системы?
...
Рейтинг: 0 / 0
Службы и сетевые порты
    #37726749
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leon777The Dim!


По документации конструктор TcpClient "...connects to the specified port on specified host"
Ну, и Вам перевести или что?

leon777Идея с отвержением подключения очень правдоподобно
Это не идея, а описание ошибки с указанным кодом.

leon777НО это происходит ТОЛЬКО для службы, а когда порт открывается
win-оконным приложением (на той же машине), то я могу конектиться к порту хоть сто раз! Брандмауэр выключен, антивира нет.

Так вы говорите контроль может осуществлять сама систем WinSock? Но конект не работает только для службы!

Ну что же это может быть????
Вы смешали в кучу всё -порт открывается, win-приложения, службы... коннект.

В приведенном вами примере кода у вас нету разделения моментов создания подключения(сокета) и собственно коннекта. На той-же машине -на тойже машине локальный трафик получается и идет он через loopbak интерфейс. Для удаленного хоста это конечно будет не так, со всеми вытекающими последстваиями.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Windows [игнор отключен] [закрыт для гостей] / Службы и сетевые порты
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]