Да, я это понимаю. Но думал, раз есть id ресурса, неужели нельзя хотя бы тупо перебрать все ресурсы до совпадения id и найти нужный?БД не может хранить тип ресурс, там могут быть: строки, числа, двоичные данные и т.д. а типа Ресурс на сокет - в БД нету.
Я хотел разделить по функциональности работу сокет-сервера на два процесса. Первый - быстрый, чисто прием/передача данных. Второй - медленный, обработка данных т.е. на основании полученных данных генерация отправляемых данных. Второй процесс по любому завязан на базу данных, поэтому и связь между процессами хотел сделать через таблицу бд. Второй процесс берет данные из первой колонки, обрабатывает и записывает во вторую. Первый же просто берет данные по мере их появления и отправляет клиенту.А какой в этом смысл? Зачем это может понадобится? Так получилось, что скорее всего, никому в мире до вас это не было нужно.
id сокета показался удобным идентификатором позволяющим указать обоим процессам, на то что это данные для конкретного клиента. Если его не использовать придется городить массив в памяти, связывающий id сокета с id пользователя. Что видимо и придется сделать.ну и зачем второму знать "указатель на сокет"? работает и работает перебирает базу... отсылает то первый....
А потом нужен будет третий процесс, который будет следить когда появились данные в таблице, а это полюбому запрос к БД, потом 4й процесс который будет следить чтобы правильно работали первые три, вы по моему совсем не туда копаете. Вы вообще что пишите? Чат? Ну погуглите чат на сокетах php иль чтото в этом духе.Я хотел разделить по функциональности работу сокет-сервера на два процесса. Первый - быстрый, чисто прием/передача данных. Второй - медленный, обработка данных т.е. на основании полученных данных генерация отправляемых данных. Второй процесс по любому завязан на базу данных, поэтому и связь между процессами хотел сделать через таблицу бд. Второй процесс берет данные из первой колонки, обрабатывает и записывает во вторую. Первый же просто берет данные по мере их появления и отправляет клиенту.
Нет, это рабочее приложение. Пользователь отправляет данные, они на сервере обрабатываются и ответ отправляются пользователю. Обычных пост/гет запросов не хватает т.к. пользователь должен еще и без специальных запросов получать сообщения при определенных изменениях в базе. Поэтому делаю через сокеты.АВы вообще что пишите? Чат?
Собственно все так и есть. Только фоновый процесс работает непрерывно. И если пользователь вошел в онлайн и наступил определенный момент (например подошел срок пробитый в базе с точностью до секунды) данные об этом должны быть отправлены пользователю тоже.Korchy
пользователь нажал на кнопочку, был вызван обработчик который в свою очередь создал фоновый процесс, а также подписал пользователя на получение сообщения по окончанию...
дальше каждый занимается своим делом, один ожидает когда появятся данные (он точно знает какие данные ему нужны) по получению шлет их пользователю, другой получил задачу делать, ему на столько пофиг для кого, мастер сказал значит надо!
Ну вот я и хотел обойтись без дополнительных циклов по пользователю, все писать/читать напрямую в сокет. Теперь пришлось привернуть, вроде бы работаетоб этом должен знать процесс информирования... есть подписки пользователем на определенную инфу...
дальше цикл по событию, по пользователю...