Модераторы: bartram, Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как решить проблему с вылетом программы .Net? 
:(
    Опции темы
xinferum
Дата 14.10.2014, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 29.8.2012

Репутация: нет
Всего: нет



Доброго времени суток.

Суть проблемы:
Есть терминальный сервер (Windows Server 2008 R2) с некоторым колличеством пользователей. На нем установленна программа, необходимая для работы удаленно (программа установлена именно на сервере, так как использует внутренние ресурсы и установить ее, например, на ноутбук нельзя). Для работы одного пользователя требуется выделенный IP-адрес, поэтому на сервере настроена виртуализация IP.
Какое-то время, программа работала нормально - каждый пользователь заходил на удаленный рабочий стол, получал свой виртуальный IP и работал. Но в один момент программа стала вылетать со следующей ошибкой:

System.Net.Sockets.SocketException сделана попытка доступа к сокету методом, запрещенным правами доступа

Поиски в интернете ни к чему существенному не привели. Максималное колличество доступных портов в реестре менял - не помогло. Отключение брендмауэра проблему тоже не решило.

Программа при запуске каждого своего экземпляра использует один и тот же порт (еще временно бывает занимает на время и другие).
PM MAIL   Вверх
CompWorm
Дата 15.10.2014, 01:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Допеределыватель
***


Профиль
Группа: Участник Клуба
Сообщений: 1689
Регистрация: 6.12.2004
Где: /

Репутация: 1
Всего: 31



терминальный сервер, думаю тут не при чём. 
я правильно понял, что программа на вашем рабочем сервере использует разные ИП для доступа к некому внешнему серверу, изображая из себя как бы несколько независимых программ, якобы каждая на своём сервере?

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

есть ещё вариант, что конфликт портов или порты кончились. Бывает, что не смотря на то что исходящий порт не меняется, входящие выбиаются случайно, или спавнятся дополнительные соединения после коннекта на основной порт... тогда если двум юзерам был выдан один и тот же порт, они ворчат.
это надо посмотреть по фаерволу или ваершарком.

ИП статически привязаны на каждого терминального пользователя или при каждом коннекте к терминальному серверу пользователь получает разные ИП?


--------------------
PM MAIL   Вверх
xinferum
Дата 15.10.2014, 07:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 29.8.2012

Репутация: нет
Всего: нет



Цитата(CompWorm @ 15.10.2014,  01:01)
я правильно понял, что программа на вашем рабочем сервере использует разные ИП для доступа к некому внешнему серверу, изображая из себя как бы несколько независимых программ, якобы каждая на своём сервере?

два пользователя подключились с одинаковым логином и их побанили

или лажа в сертификатах/подписях, двум выдан одинаковый сертификат с разным содержимым.

есть ещё вариант, что конфликт портов или порты кончились. Бывает, что не смотря на то что исходящий порт не меняется, входящие выбиаются случайно, или спавнятся дополнительные соединения после коннекта на основной порт... тогда если двум юзерам был выдан один и тот же порт, они ворчат.

ИП статически привязаны на каждого терминального пользователя или при каждом коннекте к терминальному серверу пользователь получает разные ИП?

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

Под одним логином может зайти только один пользователь, второго под таким логином программа не пустит. И на сервере у всех свои учетки.

C сертификатами заморочек нет, так что проблема не в этом.

Там получается так, что сама программа запускает любой свой экземпляр и использует один порт. Но для дополнительных соединиений она динамически берет и отдает порты, причем свободные, и всегда разные, т.е. конфликт может быть только с одним портом (и портов в достатке, нехватки не было).
Тут еще такая интересная вещь - при включенной виртуализации IP иногда удается запустить 2-3 экземпляра программы.

IP пользователям раздаются без привязки, из определенного диапазона, прописанного на сервере в реестре.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Windows"
December
bartram
Akella

Запрещается!

1. Обсуждать взлом и делиться кряками

2. Способствовать созданию и распространению вирусов

  • Для бессмертных бородатых вопросов типа Win vs Nix есть специальный форум Религиозные Войны
  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • ВСЕГДА УКАЗЫВАЙТЕ ВЕРСИЮ ОС

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, December, bartram, Akella.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Windows | Следующая тема »


 




[ Время генерации скрипта: 0.0379 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.