Название: Клиент для SMDR от телефонной станции. Отправлено: smartchecker от Апрель 08, 2009, 11:24 Привет.
Есть желание написать клиента, который будет ловить то, что выдаёт тел.станция по SMDR и складывать это в postgresql. Где почитать как это правильно делать на QT? Да, станция отдаёт всё по tcp/5100. Как я понимаю, для взаимодействия с ней нужно использовать QTcpSocket. Пример лога со станции Код: SMDR REPORT FOR [ ] Apr/08/2009 12:46 Как я себе вижу логику. Это должен быть linux'овый демон, которого можно пинать через start|stop. При старте он цепляется за станционный SMDR, который вещает с tcp/5100 и читает то, что станция ему выдаёт, полученные данные парсит и складывает в postgresql. Если соединение со станцией порвалось, то пытается его восстановить. Название: Re: Клиент для SMDR от телефонной станции. Отправлено: Rcus от Апрель 08, 2009, 14:06 Собственно в чем вопрос? Как установить обработчики сигналов? Как использовать сокеты? Или проблема в обработке данных?
Когда я работал с логами атс у меня наибольшие проблемы были в сведении времени на атс и времени в логах операторов. Ну и меньшая проблема была со сбоями в логах (теперь уже не узнать то ли это была битая память компьютера, либо проблема на атс) Название: Re: Клиент для SMDR от телефонной станции. Отправлено: smartchecker от Апрель 08, 2009, 15:01 Собственно в чем вопрос? Читаю здесь http://doc.qtsoftware.com/4.5/network-fortuneclient.html (http://doc.qtsoftware.com/4.5/network-fortuneclient.html) Упоминается две вещи The asynchronous (non-blocking) approach. The synchronous (blocking) approach. В каком режиме для этой задачи использовать? Как правильнее организовать, собственно, получение данных от SMDR? TCP ж, всё-таки... Приходить куски могут вразнобой. Кто их будет собирать в правильном порядке? Во что лучше читать? В QByteArray? Кророче, пример кода хочется для изучения. Название: Re: Клиент для SMDR от телефонной станции. Отправлено: smartchecker от Апрель 09, 2009, 12:58 Кто-нибуь направит?
Во всех примерах используется QDataStream, но, как я понимаю, это означает, что на обоих концах соединения должны быть приложения, написанные на QT? Название: Re: Клиент для SMDR от телефонной станции. Отправлено: Rcus от Апрель 09, 2009, 13:18 Не обязательно /** \see Torrent client example */
Можно сделать так: Код
|