By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
454,424 Members | 1,351 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 454,424 IT Pros & Developers. It's quick & easy.

Event between 2 processes

P: n/a
Hi,

I need a possibility to fire an event in one process and react in another
process.

can anybody help me ?

Martin
Jul 2 '08 #1
Share this Question
Share on Google+
6 Replies


P: n/a
Martin Priebe wrote:
Hi,

I need a possibility to fire an event in one process and react in another
process.

can anybody help me ?

Martin

Depends on how low level you want to go. You can use any of the
following (Generally falls under "InterProcess communication" - you may
want to Goggle that up:

1). Named Pipes
2). Shared memory (assuming both processes are on the same physical
machine - otherwise it gets slightly more complicated)
3). Windows (or another form of) messaging

HTH
Jul 2 '08 #2

P: n/a
On Wed, 02 Jul 2008 00:43:05 -0700, Martin Priebe
<ma***********@hermos.comwrote:
I need a possibility to fire an event in one process and react in another
process.

can anybody help me ?
Chances are, yes.

But your question is very vague. The basic requirement is that you will
have to implement yourself some kind of inter-process communication. The
C#/.NET event model doesn't support this implicitly. But once you have
the IPC working, it should be simple enough to create an event in one
process that is raised in response to communications received from another
process.

Pete
Jul 2 '08 #3

P: n/a
okay ..

i use shared memory to transfer a bitmap from one process to the second
process.
it works.

but i have 2 problems.

first:
process one have to signalize "ready" - so process 2 can read out the shared
memory.

second:
i need to signalize "ready" + meta-data. (length of the byte-array)
when i use Win API CreateEvent and OpenEvent - it works.
But i canīt transfer any information with it.

greeting and thx
Martin
Jul 2 '08 #4

P: n/a
Martin Priebe wrote:
okay ..

i use shared memory to transfer a bitmap from one process to the second
process.
it works.

but i have 2 problems.

first:
process one have to signalize "ready" - so process 2 can read out the shared
memory.

second:
i need to signalize "ready" + meta-data. (length of the byte-array)
when i use Win API CreateEvent and OpenEvent - it works.
But i canīt transfer any information with it.

greeting and thx
Martin

Sounds like you would have been better of using Windows messaging, since
that is more in line with the event-driven paradigm you appear to be
describing. For windows messaging, (assuming you had client/server and
not P2P model), you would create an invisble window in the client and
you simply send the data to the client from the publisher, when the data
is available. Small caveat, the size of the data payload is fixed (i.e.
cannot be changed), so your best bet would be to specify the size of the
largest image you expect to send, alternatively, you could incorporate
meta data in the payload, which allows you to split it into several
'packets' and then reassemble at the client side.

With shmem (shared memory), you need to set aside a portion of the
memory where your sender writes the status (ready, etc) as well as any
metadata. The client will have to continously poll this section of shmem
to see if data is available and act on that info.
Jul 2 '08 #5

P: n/a
Okay ... thx lot.

the tip "to specify the size of the largest image you expect" is great.
it works fine.
(but it could be faster when i know the correct size of the array)

if i use the event or windows messaging i donīt know yet.
greeting Martin
"Neo Morpheous" <bl*******@ursa-major.comschrieb im Newsbeitrag
news:BZ******************************@bt.com...
Martin Priebe wrote:
>okay ..

i use shared memory to transfer a bitmap from one process to the second
process.
it works.

but i have 2 problems.

first:
process one have to signalize "ready" - so process 2 can read out the
shared memory.

second:
i need to signalize "ready" + meta-data. (length of the byte-array)
when i use Win API CreateEvent and OpenEvent - it works.
But i canīt transfer any information with it.

greeting and thx
Martin

Sounds like you would have been better of using Windows messaging, since
that is more in line with the event-driven paradigm you appear to be
describing. For windows messaging, (assuming you had client/server and not
P2P model), you would create an invisble window in the client and you
simply send the data to the client from the publisher, when the data is
available. Small caveat, the size of the data payload is fixed (i.e.
cannot be changed), so your best bet would be to specify the size of the
largest image you expect to send, alternatively, you could incorporate
meta data in the payload, which allows you to split it into several
'packets' and then reassemble at the client side.

With shmem (shared memory), you need to set aside a portion of the memory
where your sender writes the status (ready, etc) as well as any metadata.
The client will have to continously poll this section of shmem to see if
data is available and act on that info.

Jul 2 '08 #6

P: n/a
okay ..
i send the size in the first 4 bytes.
so i read the 1st 4 bytes and then read out the rest with this length

thx
Martin

"Martin Priebe" <ma***********@hermos.comschrieb im Newsbeitrag
news:ey**************@TK2MSFTNGP05.phx.gbl...
Okay ... thx lot.

the tip "to specify the size of the largest image you expect" is great.
it works fine.
(but it could be faster when i know the correct size of the array)

if i use the event or windows messaging i donīt know yet.
greeting Martin
"Neo Morpheous" <bl*******@ursa-major.comschrieb im Newsbeitrag
news:BZ******************************@bt.com...
>Martin Priebe wrote:
>>okay ..

i use shared memory to transfer a bitmap from one process to the second
process.
it works.

but i have 2 problems.

first:
process one have to signalize "ready" - so process 2 can read out the
shared memory.

second:
i need to signalize "ready" + meta-data. (length of the byte-array)
when i use Win API CreateEvent and OpenEvent - it works.
But i canīt transfer any information with it.

greeting and thx
Martin

Sounds like you would have been better of using Windows messaging, since
that is more in line with the event-driven paradigm you appear to be
describing. For windows messaging, (assuming you had client/server and
not P2P model), you would create an invisble window in the client and you
simply send the data to the client from the publisher, when the data is
available. Small caveat, the size of the data payload is fixed (i.e.
cannot be changed), so your best bet would be to specify the size of the
largest image you expect to send, alternatively, you could incorporate
meta data in the payload, which allows you to split it into several
'packets' and then reassemble at the client side.

With shmem (shared memory), you need to set aside a portion of the memory
where your sender writes the status (ready, etc) as well as any metadata.
The client will have to continously poll this section of shmem to see if
data is available and act on that info.


Jul 2 '08 #7

This discussion thread is closed

Replies have been disabled for this discussion.