Модераторы: marykone
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ограниченность сокетов. 
:(
    Опции темы
En_t_end
Дата 3.3.2005, 07:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Суть в следующем. Я обычно для сетевых проектов юзал низкоуровневые сокеты. Но это были лишь мелкие программки, где к нескольким сокетам подключались максимум 3 - 2 человека.
Естественно возникает вопрос, а что если их будет 100 ? Я подумал и решил, а что если сделать 10 потоков и 11 сокетов? В каждом потоке по сокету. 11-ый же, как гейт, то есть выполняет подключение сокета, его идентификацию, перенаправление на другой свободный сокет. То есть если будут одновременно заняты все сокеты, головной 11-ый будет отказывать в доступе и ссылатья на прохождение определенного времени. Это конечно решает проблему,но не так как хотелось, ведь если захочет подключиться 20 человек, то 10 из них будут игнорированы smile
Как сделать лучше ?
PM MAIL ICQ Skype GTalk Jabber   Вверх
np9mi7
Дата 3.3.2005, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 553
Регистрация: 17.8.2003
Где: Volgograd, Russia

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



а ты динимечески новые сокеты создавать не можешь?


--------------------
"Я точно знаю то, что ничего не знаю..." Сократ.
evolution project
PM MAIL WWW ICQ MSN   Вверх
En_t_end
Дата 3.3.2005, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



arajan 
Нет дин. создание мне не подходит.
PM MAIL ICQ Skype GTalk Jabber   Вверх
oleg1973
Дата 3.3.2005, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

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



En_t_end
это почему?
что нельзя для каждого конекта создать свой треад с сокетом?


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
np9mi7
Дата 3.3.2005, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 553
Регистрация: 17.8.2003
Где: Volgograd, Russia

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



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

Так почему именно 10?

ps давай код....

Это сообщение отредактировал(а) arajan - 3.3.2005, 17:11


--------------------
"Я точно знаю то, что ничего не знаю..." Сократ.
evolution project
PM MAIL WWW ICQ MSN   Вверх
En_t_end
Дата 3.3.2005, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



oleg1973
Не тебе мне говорить, что если вдруг сервер начнет нагружаться по полной, то это дорога для хакеров. ЗЫ так до недавнего времени ломали ROL, просто из-за тормозов на сервере к нему приходило два запроса и оба они обрабатывались и хакеру выдавались два одинаковых счета.

Я должен точно знать, что подобных дырок у меня быть не должно, и вообще я динамике и раньше не особо доверял. ЗЫ просто программа серьезная...

Добавлено @ 17:25
Цитата
единственно нужно позаботиться о корректном уничножении...

Ага smile, ЗЫ совсем недавно узнал, что .close(); - на самом деле ждет около 20 секунд, прежде чем закрыть сокет, надо юзать shutdown и не мучиться smile
PM MAIL ICQ Skype GTalk Jabber   Вверх
oleg1973
Дата 3.3.2005, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

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



ну дак огранич кол-во конектов smile
один черт больще 65535 сокетов ты не создаш в системе smile


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
np9mi7
Дата 3.3.2005, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 553
Регистрация: 17.8.2003
Где: Volgograd, Russia

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



Действительно
Код

class CServer
{
static unsigned int _CONNECTION_LIMIT;
static unsigned int _CURRENT_CONNECTION_COUNT = 0;
public:
CServer (int newlimit)
{
_CONNECTION_LIMIT = newlimit;
}
.....
}
, ну а за пределом отклоняй.... вот тебе и решение, а пусть юзер сам решает, сколько хочет клиентов....
Цитата
Ага smile, ЗЫ совсем недавно узнал, что .close(); - на самом деле ждет около 20 секунд, прежде чем закрыть сокет, надо юзать shutdown и не мучиться smile

Где ты это узнал?

Это сообщение отредактировал(а) arajan - 3.3.2005, 17:40


--------------------
"Я точно знаю то, что ничего не знаю..." Сократ.
evolution project
PM MAIL WWW ICQ MSN   Вверх
En_t_end
Дата 3.3.2005, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



arajan
это типа заготовка под клас для сервера smile ?
Добавлено @ 17:46
http://cs.mipt.ru/docs/comp/rus/programmin...kets/index.html
Почитай это... вернее не 20 секунд, а после передачи всех данных smile

Это сообщение отредактировал(а) En_t_end - 3.3.2005, 17:47
PM MAIL ICQ Skype GTalk Jabber   Вверх
np9mi7
Дата 3.3.2005, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 553
Регистрация: 17.8.2003
Где: Volgograd, Russia

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



Цитата
arajan
это типа заготовка под клас для сервера smile ?

Ну типа её кусок... а что?


--------------------
"Я точно знаю то, что ничего не знаю..." Сократ.
evolution project
PM MAIL WWW ICQ MSN   Вверх
En_t_end
Дата 3.3.2005, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



arajan
Да нет ничего...
Ладно спасибо всем... буду трудиться.
Тема закрыта.
PM MAIL ICQ Skype GTalk Jabber   Вверх
np9mi7
Дата 3.3.2005, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 553
Регистрация: 17.8.2003
Где: Volgograd, Russia

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



про сокеты и про программирование их хорошо написана тут, а вообще, если me все это делаешь под windows, толучше читай MSDN, или дай мне mail я тебе вышлю документ...
smile удачи

Это сообщение отредактировал(а) arajan - 3.3.2005, 18:03


--------------------
"Я точно знаю то, что ничего не знаю..." Сократ.
evolution project
PM MAIL WWW ICQ MSN   Вверх
maxim1000
Дата 3.3.2005, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



может, каким-то образом разделять сокет для нескольких клиентов?


--------------------
qqq
PM WWW   Вверх
En_t_end
Дата 3.3.2005, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата
может, каким-то образом разделять сокет для нескольких клиентов?

Хмм.. а такое возможно ?
PM MAIL ICQ Skype GTalk Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Сетевые технологии | Следующая тема »


 




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


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

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