Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.01.2008, 22:23   #1
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Цитата:
Собственно, для чего это делается? ...разве серверный сокет не использует OnClientDisconnect ? ...если произойдет обрыв связи с клиентом, причем с любым из подключенных, то следует задать обновление списка в OnClientDisconnect, так же и при подключении клиента OnClientConnect, зачем же делать лишние проверки!? ...нет ответа в течении времени не есть потеря связи, а реальную потерю связи вам сокет покажет.
Держать открытыми сокеты ? приведите хоть один плюс этого
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 29.01.2008, 18:20   #2
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Цитата:
Сообщение от Квэнди Посмотреть сообщение
Держать открытыми сокеты ? приведите хоть один плюс этого
Ну, во-первых, постоянно открытый сокет - это не преступление, жрать он не просит, как раз экономит на установке соединений и проверке его наличия, во-вторых, у нас автоидентификация клиента, подключившись единожды, клиент является тем кто он есть.

Что до сервера, то он не отдельный, сервером обычно выступает тот клиент, что запустил чат первым "создав сервер". Предложенный мной вариант не является исключительно внутрисетевым, проверялся и в сети Интернет, только недостаток - сервер должен "висеть" на чистом IP, к остальным клиентам претензий нет.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 29.01.2008, 21:45   #3
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Цитата:
Сообщение от Beermonza Посмотреть сообщение
Ну, во-первых, постоянно открытый сокет - это не преступление, жрать он не просит, как раз экономит на установке соединений и проверке его наличия, во-вторых, у нас автоидентификация клиента, подключившись единожды, клиент является тем кто он есть.

Что до сервера, то он не отдельный, сервером обычно выступает тот клиент, что запустил чат первым "создав сервер". Предложенный мной вариант не является исключительно внутрисетевым, проверялся и в сети Интернет, только недостаток - сервер должен "висеть" на чистом IP, к остальным клиентам претензий нет.
А о ресурсоемкости не задумываемся ? а о возможном ограничении сессий у провайдера? О реакции файрвола на кучу открытых сокетов ? О безопасности соединений ? О потерях (произошла коллизия, потеряли пару- тройку пакетов- получили тайм-аут у сокета) ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи

Последний раз редактировалось Квэнди; 30.01.2008 в 21:35.
Квэнди вне форума Ответить с цитированием
Старый 30.01.2008, 20:33   #4
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Цитата:
Сообщение от Квэнди Посмотреть сообщение
А о ресурсоемкости не задумываемся ? а о возможном ограничении сессий у провайдера? О реакции файрвола на кучу открытых сокетов ? О безопасности соединений ? О потерях (произошла коллизия, потеряли пару- тройку пакетов- получили тайм-аут у сокета) ? Впрочем это не в эту тему уже.
Как всегда правильно, не в эту тему
Сколько народу наберется можно только догадываться, я ограничил на 256 и все, ...какая тут ресурсоемкость - промолчу. Любой выделенный канал ограничения на сессию не накладывает, ...по аналогу или через сотик ходить не будут, да и незачем. Файрвол штука капризная, но настроить можно, у меня ничего не происходит сверхестественного. Безопасность соединения забота антивирусных программ. Потерь пакетов быть не может, TCP/IP (у меня в примере не UDP) так устроен, что проверяет перепроверяет, ну вы в курсе. Ну, и, собственно, интерес программа представляет для тех, кто имеет нормальный выделенный канал, а он сейчас у большинства. Извините, не удержался, ответил.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 30.01.2008, 21:18   #5
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Вопрос сугубо теоретический и быстрее даже идеологический. Поэтому каждое мнение имеет право на жизнь.
Я считаю что подобные вещи недопустимы для программирования:
задача программиста чтобы работало всегда и везде (максимально возможно)
Во всем что связано с сетями должна учитываться безопасность соединения
В чатах(месенджерах) не вижу смысла использовать "тяжелый" TCP (не приоритетный трафик)
О реакции файрвола должен беспокоится программист а не пользователь.
Ресурсоемкость: каждый открытый сокет как минимум лишний объект в памяти абсолютно не приоритетного приложения.
Хотя разумеется ваша точка зрения также имеет право на жизнь.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сокеты в DLL vynt Работа с сетью в Delphi 7 01.07.2008 21:54
Сокеты ben95 Общие вопросы Delphi 7 09.03.2008 23:26
Сокеты в Delphi Necro Работа с сетью в Delphi 11 24.04.2007 07:32
сокеты cross Работа с сетью в Delphi 2 21.12.2006 18:12