A
a_agaga
Do you know are there some reasons why many do not make processes to
communicate through memory?
Why network connections (sockets) are used so commonly in IPC (inter
process communication) instead of memory?
(Is IPC harder to maintain / handle if it is made through memory, when
compared to communication through sockets?)
Some background things:
The processes, which communicate with each others, are on the same PC.
There are some reasons, why the processes have not been combined to one
process.
They have to communicate with each others.
It might be best, if those processes could be combined to one process,
but I have seen many processes, which are on the same PC and those
still communicate with each other through sockets instead of through
memory.
Pipes are used too for some IPC, between some other processes, but
those requests are not so time critical as the requests, which I am
talking about now. So pipes are good to be used in those situations,
those are simple to use.
I think it would be wiser to communicate through memory, where it is
possible and where performance is important. But are there some reason
why processes tend not to communicate through memory, even though
performance would be an important factor?
- - - - - - -
I would have one extra question too:
Many also create the connection each time the request is sent through
the sockets.
Wouldn't it be wiser to keep the connections open all the time instead
of creating them each time when a request is sent?
I assume it is harder to maintain the connections, when connections
break up, if connections are up all the time.
It might be one reason, why connections are created separately for each
request
(and closed after the request has been sent).
If time is not so critical, would it be wise to use sockets instead of
memory then?
Also connections would not need to be kept open then too.
Thank you!
communicate through memory?
Why network connections (sockets) are used so commonly in IPC (inter
process communication) instead of memory?
(Is IPC harder to maintain / handle if it is made through memory, when
compared to communication through sockets?)
Some background things:
The processes, which communicate with each others, are on the same PC.
There are some reasons, why the processes have not been combined to one
process.
They have to communicate with each others.
It might be best, if those processes could be combined to one process,
but I have seen many processes, which are on the same PC and those
still communicate with each other through sockets instead of through
memory.
Pipes are used too for some IPC, between some other processes, but
those requests are not so time critical as the requests, which I am
talking about now. So pipes are good to be used in those situations,
those are simple to use.
I think it would be wiser to communicate through memory, where it is
possible and where performance is important. But are there some reason
why processes tend not to communicate through memory, even though
performance would be an important factor?
- - - - - - -
I would have one extra question too:
Many also create the connection each time the request is sent through
the sockets.
Wouldn't it be wiser to keep the connections open all the time instead
of creating them each time when a request is sent?
I assume it is harder to maintain the connections, when connections
break up, if connections are up all the time.
It might be one reason, why connections are created separately for each
request
(and closed after the request has been sent).
If time is not so critical, would it be wise to use sockets instead of
memory then?
Also connections would not need to be kept open then too.
Thank you!