LINUX.ORG.RU

FORK + socket FD


0

0

Privet all.
Programma client+server.Server multi-thread na fork.
Realizoval tablizu FD clientov v shared memory.
Kak mne iz odnogo child poslat' msg v FD socket drugogo child?
Obi4nim sposobom "send(shm->FD,msg,sizeof(msg),0)..." ne polu4aetsia.
Zaranee blagodaren.
Tolik.

Re: FORK + socket FD

Толя, fork != треды... а почему у тебя там не пашет, не знаю, скорее всего чего то налажал в реализации.

godexsoft ()
Ответ на: Re: FORK + socket FD от virgin13

Re: FORK + socket FD

Дык тебе надо юзать fork и SM? или есть возможность на pthreads сделать? если есть возможность, я бы так и сделал на твоем месте.
Как твою проблемму фиксить ненаю, кода нету... нужно хакерить из близи...

godexsoft ()
Ответ на: Re: FORK + socket FD от godexsoft

Re: FORK + socket FD

Cania, ti ponimae6', v 4em prikol, s samogo na4ala ia vse sdelal na thread. I vrode kak rabotaet. No mne ne nravitsia, kak rabotaet, t.k. threadi toge razvodit' nana. I toge o6ibki neponiatnie vihodiat. Opiat' ge vse obs4ie peremennie, s odnoj storoni horo6o, a s drugoj ne o4en' :) Esli u tebia est' RABO4IY variant servera s thread'ami - skin', plz. No vse-ge hotelos' bi na fork vse perevesti. 4to skage6?

virgin13 ()
Ответ на: Re: FORK + socket FD от virgin13

Re: FORK + socket FD

http://godexsoft.7bit.pp.ru/index.php?mod=ls_proj
вот тут лежат две фиговинки, одна Server Example - Это короче не треды и не процессы... это один процесс который делает все за всех :)
А вот tsrv_exmpl это то че те нада.. простой пример сервака на тредах. я на такой основе писал сервак чата аля irc.

Удачи Толян. надеюсь поможет :)

godexsoft ()

Re: FORK + socket FD

ну тебя и проглючило

пихать фд в шаренную память

ты наверное ночь не спал???

вобщем ситуация здесь такая что без пайпов не обойдёшся никак. точнее в случае если нельзя посоздавать все сокеты до первого форка.

вобщем задача решается так : обвязываеш своих детей при помощи пайпов со всех сторон ;-)) и транслируеш по пайпам либо сами сообщения ли файловые дескрипторы сокетов при помощи ioctl().

далее как обычно. Главное не забывай про файловые блокировки.

может здесь и SYSV IPC както иначе поможет, кажись очередя тоже способны передвать файловые дескрипторы.

cvv ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.