[Moscow.pm] unix socket

Kaltashkin Eugene zhecka на gmail.com
Пт Май 23 23:03:12 PDT 2008


Dmitry E. Oboukhov пишет:
>> Есть две тулзы. Одна создаёт unixsocket /tmp/blablabla, и слушает его.
>> Вторая в этот socket что-то пишет.
>> В связке обе тулзы работают нормально, при попытке зацепиться в сокет из
>> любого другого модуля,
>> чтоб вызвать диалог, всё просто тупо чего-то ждёт. Ни ответа ни привета.
>> Если эмулировать открытый сокет,
>> то при конекте клиента тоже ничего не происходит.
>> Можно ли как-то просмотреть что всётаки бегает в сокете между двумя
>> этими тулзами ?
>> Гугл уже изнасилован, ничего не нашёл :(
>> socket на tcp или udp перевести нельзя.
>>     
> если сокет слушается одним процессом, то только один процесс сможет
> иметь коннект, другой будет ожидать.
>
> то есть тебе либо форкнуться надо при принятии соединения либо создать
> новый тред
>
> почитай perldoc perlipc там это все расписано
>
> а лучше всего сервер создать на базе Net::Server::[по выбору]
>
> там класс просто тупо скажешь при создании сколько потоков/форков
> крутить оно и будет крутить
>   
perlipc исползан вдоль и поперек.
поясню задачу. Есть связка server(15 тредов) + много клиентов которые 
через unix socket с ним работают.
Если я цепляюсь не клиентом, а своим скриптом к unix сокету, то не вижу 
ни начального ответа от сервера, при передаче данных
в сокет не вижу response. Также если цепляю клиента к созданному мной 
unix сокету, то тоже ноль эффект. Поэтому хочу понять
что бегает внутри этого долбаного unix socket чтобы эмулировать данный 
протокол. perlipc только рассказывает как якобы создать
unix socket, а не как его послушать и посмотреть.
 


Подробная информация о списке рассылки Moscow-pm