Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[Perl] IRC-клиент с web-интерфейсом 17.06.02 09:39
Автор: 123mitya Статус: Незарегистрированный пользователь
|
Дело происходит под win32.
Портировал ircd.
Создал бота, используя Net::IRC
Пытаюсь создать IRC-клиента с web-интерфейсом.
Вопрос 1 :
Как под win32 обеспечить постоянное соединение с irc-сервером пользователям, которые используют web-интерфейс (не прибегая к java и плугинам браузеров)?
Так понимаю, что придется писать свой промежуточный "сервер" общающийся с web-интерфейсом по неблокирующимся сокетам, который, полагаю, должен работать приблизительно так (грубо говоря):
- цикл("сервер" слушает пока в определенный сокет не придет сообщение)
{
- если зашел новый пользователь, то создаем новое соединение с irc-сервером (добавляем элемент в список указателей на объекты, работающие с irc-сервером),
- если пришло сообщение, что пользователь ушел, то уничтожаем соответствующий объект, работающий с irc-сервером, и удаляем элемент из списка указателей
- иначе передаем сообщение на irc-сервер, используя нужный элемент из списка указателей на объекты, работающие с irc-сервером
}
- запускаем сами себя, передавая на вход массив указателей
- выходим
Вопрос 2 :
Можно ли в asp под win32 делать fork и использовать именованые каналы, как под *nix ?
Вопрос 3 :
При передаче массива указателей на объекты, работающие с irc-сервером, процессу-потомку не подохнут ли сами объекты автоматически после уночтожение "сервера"-родителя ?
Вопрос 4:
Может есть какое хорошее решение с IPC:: ?
- а то неохота велосипед придумывать, во вторых опасаюсь что такую схему очень легко будет ddos'ить и памяти она жрать будет немеряно.
Языки реализации : принципиально - не си. Разумных freeware программ не нашел (совсем слабенькие phpIRC и cgiirc не годятся), а других, похоже нет.
|
|
|