URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 42320
[ Назад ]

Исходное сообщение
"помогите с tcpclient&tcpserver"

Отправлено nick2 , 30-Мрт-04 17:57 
Здрсте, ув. знатоки. Мой вопрос, возможно, покажется вам недостойным вашего внимания, однако прошу помочь мне. У меня простенькая программа, выводящая некот. инф. в stdout, и работающая под tcpclient. А также программа, кот. ждет при пом. select(), когда что-либо придет в stdin. Вопрос: почему вторая программа локально работает (в смысле в своей консоли она слышит stdin), а через tcpserver не работает. Может я опций к-ниб. не запускаю, не знаю?

Содержание

Сообщения в этом обсуждении
"помогите с tcpclient&tcpserver"
Отправлено alexeylomov , 30-Мрт-04 19:01 
>Здрсте, ув. знатоки. Мой вопрос, возможно, покажется вам недостойным вашего внимания, однако
>прошу помочь мне. У меня простенькая программа, выводящая некот. инф. в
>stdout, и работающая под tcpclient. А также программа, кот. ждет при
>пом. select(), когда что-либо придет в stdin. Вопрос: почему вторая программа
>локально работает (в смысле в своей консоли она слышит stdin), а
>через tcpserver не работает. Может я опций к-ниб. не запускаю, не
>знаю?

Я, конечно, не знаток, но всё таки.
Не совсем понятно в чём именно заключается то, что делают эти программы? И почему ты решил, что вторая не работает?


"помогите с tcpclient&tcpserver"
Отправлено kapiton , 30-Мрт-04 19:16 
Пож exec с перенаправлениями в скрипте запуска тспсервера не указал ?

"помогите с tcpclient&tcpserver"
Отправлено nick2 , 30-Мрт-04 19:20 
>Пож exec с перенаправлениями в скрипте запуска тспсервера не указал ?


Прости, не совсем понял...


"помогите с tcpclient&tcpserver"
Отправлено nick2 , 30-Мрт-04 19:17 
>Я, конечно, не знаток, но всё таки.
>Не совсем понятно в чём именно заключается то, что делают эти программы?
>И почему ты решил, что вторая не работает?


Клиентская пишет запрос в stdout, который, по идее, должен передаваться в socket, созданный tcpclient'ом.
Серверная делает select(1,...), а потом write(2,...), то есть по идее ждет, пока ч-либо не попадет в stdin, и затем выводит это в stderr. Но вот работает она "по идее" только при запуске ./<имя_прогр> , а при запуске tcpserver localhost ... <имя_прогр> запускается, но не слышет запросов клиентской программы.
Вот так вот.


"помогите с tcpclient&tcpserver"
Отправлено kapiton , 30-Мрт-04 19:32 
при запуске tcpservera c ведением логов используется программа мультилог,но если ты используешь другую то и гуд тебе. дык вот чтоб tcpserver перенаправлял эти самые логи на стандартные std....в начале пишут
exec 2>&1

"помогите с tcpclient&tcpserver"
Отправлено nick2 , 30-Мрт-04 19:36 
>при запуске tcpservera c ведением логов используется программа мультилог,но если ты используешь
>другую то и гуд тебе. дык вот чтоб tcpserver перенаправлял эти
>самые логи на стандартные std....в начале пишут
> exec 2>&1

Да, я использую мультилог.
Нет, проблема в другом, т.к. это я указал.


"помогите с tcpclient&tcpserver"
Отправлено kapiton , 30-Мрт-04 19:40 
кинь сюды. ~/run и ~/log/run

"помогите с tcpclient&tcpserver"
Отправлено nick2 , 30-Мрт-04 19:48 
>кинь сюды. ~/run и ~/log/run

вот ~/run
------------------
#! /bin/bash -e

. /etc/danss/d7.conf

exec tcpserver localhost 2222 ${bindir}/server
------------------
вот ~/log/run
------------------
#!/bin/sh

. /etc/danss/d7.conf

exec 2>&1

exec setuidgid ${loguser} multilog t ${logdir}/server
------------------
для клиентской такие же, но работают


"помогите с tcpclient&tcpserver"
Отправлено kapiton , 30-Мрт-04 19:58 
>вот ~/run
>------------------
>#! /bin/bash -e
>
>. /etc/danss/d7.conf
>
>exec 2>&1
tcpserver localhost 2222 ${bindir}/server
в таком порядке все напиши или
tcpserver localhost 2222 ${bindir}/server 2>&1 &

>------------------
>вот ~/log/run
>------------------
>#!/bin/sh
>
>. /etc/danss/d7.conf
>
>exec 2>&1
не надо!!!!!!!
>
>exec setuidgid ${loguser} multilog t ${logdir}/server
>------------------
>для клиентской такие же, но работают



"помогите с tcpclient&tcpserver"
Отправлено kapiton , 30-Мрт-04 19:59 
>>вот ~/run
>>------------------
>>#! /bin/bash -e
>>
>>. /etc/danss/d7.conf
>>
>>exec 2>&1
> tcpserver localhost 2222 ${bindir}/server
>в таком порядке все напиши или
>tcpserver localhost 2222 ${bindir}/server 2>&1 &
>
>>------------------
>>вот ~/log/run
>>------------------
>>#!/bin/sh
>>
>>. /etc/danss/d7.conf
>>
>>exec 2>&1
>не надо!!!!!!!
НАДО ОБШТБСИ или
exec setuidgid ${loguser} multilog t ${logdir}/server 2>&1
>>
>>exec setuidgid ${loguser} multilog t ${logdir}/server
>>------------------
>>для клиентской такие же, но работают



"помогите с tcpclient&tcpserver"
Отправлено nick2 , 30-Мрт-04 20:07 
все так и сделал.
Но все равно не работает.
Абсолюдно ничего нет в логе.



"помогите с tcpclient&tcpserver"
Отправлено kapiton , 30-Мрт-04 20:12 
тогда я думаю у тебя все дело в пермишинах на эти самые лог файлы. да каталоги..
либо в директорию нельзя писать....либо еще что..проверь

"помогите с tcpclient&tcpserver"
Отправлено kapiton , 30-Мрт-04 20:17 
и я надеюсь что файлы run и /log/run лежать в каталоге в т.е.
/server/run
/server/log/run потому что svscan  pippeline в другом случае не образуте

"помогите с tcpclient&tcpserver"
Отправлено nick2 , 31-Мрт-04 13:29 
>и я надеюсь что файлы run и /log/run лежать в каталоге в
>т.е.
>/server/run
>/server/log/run потому что svscan  pippeline в другом случае не образуте

Вчера не мог ответить: инет пропал.
Там все нормально, я не понимаю в чем дело.
Есть другие варианты?


"помогите с tcpclient&tcpserver"
Отправлено alexeylomov , 31-Мрт-04 14:34 
А может проблема не в контроле за сервисами, а в самих программах?
Ты уверен, что программы работают (я имею ввиду сам программный код)? А то вдруг ты нам мозги паришь.

"помогите с tcpclient&tcpserver"
Отправлено nick2 , 31-Мрт-04 15:05 
>А может проблема не в контроле за сервисами, а в самих программах?
>
>Ты уверен, что программы работают (я имею ввиду сам программный код)? А
>то вдруг ты нам мозги паришь.


Я повторюсь:
при запуске  ./имя_прогр  она работает (т.е выводит ответное сообщ. на ввод ч-либо в stdin)
при запуске  tcpserver localhost 1111 ./имя_прогр  она не воспринимает то, что выводится программой, запущеной так: tcpclient localhost 1111 ./имя_другой_прогр

Вопрос в том, почему такая фигня? Может я запускаю не так, как надо или еще ч-ниб...


"помогите с tcpclient&tcpserver"
Отправлено alexeylomov , 31-Мрт-04 15:33 
>>А может проблема не в контроле за сервисами, а в самих программах?
>>
>>Ты уверен, что программы работают (я имею ввиду сам программный код)? А
>>то вдруг ты нам мозги паришь.
>
>
>Я повторюсь:
>при запуске  ./имя_прогр  она работает (т.е выводит ответное сообщ. на
>ввод ч-либо в stdin)
>при запуске  tcpserver localhost 1111 ./имя_прогр  она не воспринимает то,
>что выводится программой, запущеной так: tcpclient localhost 1111 ./имя_другой_прогр
>
>Вопрос в том, почему такая фигня? Может я запускаю не так, как
>надо или еще ч-ниб...


Ты знаешь, вообще то всё идёт к тому, что у тебя должно всё работать. Возможно не судьба :)) извини.
Может кто-нибудь умный найдётся и догадается, в чём дело, а я не могу.