Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Коллеги нужна помощь по сокетам 
V
    Опции темы
IlyaIlin
Дата 25.12.2009, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте. Дело в том, что один и тот же код работает совернешнно по разному в console работает корректно, а в win работает тоже корректно, но с необольшим отличием. 
Задача: нужно чтобы был открыт порт у приложения всегда, причем внешний порт со внешним IP адресом. 
Решение:т.к. внешний IP адрес узнать сложно и не всегда он доступен, а иногда он меняеятся приходится создавать объект TCPListener (port) (msdn рекомендует так не делать и указывать IP TCPListener(IPAdderess.Parse(""), port) ), если создать экземпляр класса только указав порт, то будут прослушиватся и локальные соединения (localhost:[port]) и внешние ([externalIP]:[port]) - это правильно. 
Проблема: А если запустить этот же код в WinForms, - только локальные. 
Вопрос: Как можно исправить данную ситуацию? 

Заранее, ОГРОМНОЕ ВАМ СПАСИБО!
PM MAIL   Вверх
Heinzz
Дата 25.12.2009, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 12.12.2008
Где: .net

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



не уверен, но возможно брэндмаузер блокирует, у меня так было.


--------------------
user posted image
PM MAIL   Вверх
IlyaIlin
Дата 25.12.2009, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Heinzz, а почему консоль не блокирует? 
PM MAIL   Вверх
Heinzz
Дата 25.12.2009, 19:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 12.12.2008
Где: .net

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



а может и не в этом дело. Просто зайдите в брандмаузер и разрешите вашему процессу все. Попытка не пытка


--------------------
user posted image
PM MAIL   Вверх
IlyaIlin
Дата 25.12.2009, 20:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо, вам. Программа начала корректно работать. Н есть условие, программа должна работать на компьюетере сотрудника полностью скрыто. Может вы знаете как можно это решить?
PM MAIL   Вверх
IlyaIlin
Дата 25.12.2009, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Все, все все. Друзья-коллеги, проблема полностью исчерпана и решена. Благодарю за помощь.   smile 
PM MAIL   Вверх
Dobermann
Дата 26.12.2009, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(IlyaIlin @  25.12.2009,  20:13 Найти цитируемый пост)
Н есть условие, программа должна работать на компьюетере сотрудника полностью скрыто.

Как это решил?
PM   Вверх
IlyaIlin
Дата 26.12.2009, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Dobermann коллега сказал что заказчик фаервол возьмет на себя, а кроме фаервола все скрыто. Если писать Console приложение + WinAPI |user32.dll| метод ShowWindow, то приложение скрывается полностью, но есть глюк, в том что до того как вызовится метод ShowWindow чтоб скрыть консоль, она успевает себя засветить. поэтому разобрался с WinForms.
PM MAIL   Вверх
Dobermann
Дата 26.12.2009, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(IlyaIlin @  26.12.2009,  14:38 Найти цитируемый пост)
поэтому разобрался с WinForms. 

т.е. winforms не засвечивается?! А ну хотя если сворачивать при загрузке...
PM   Вверх
IlyaIlin
Дата 26.12.2009, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Dobermann я даже саму форму не создавал. Я ее удалил после создания WinForms проекта. Просто в метод Main поместил тот же код что и в console. Создал поток и в нем запустил TCPListener. Сама WinForms не засвечивается, пока не открыть порт.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


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

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




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


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

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