.NET one way Remoting

  • Thread starter Thread starter newscorrespondent
  • Start date Start date
N

newscorrespondent

As a client I am sending data using a OneWay method to a server.

What happens if the client is sending messages faster than the server can
consume them?

Who is responsible for holding the queue?

If the object sending is a WellKnownObjectMode.Singleton what happens if I
send another message before the last one completes?

And the same for a WellKnownObjectMode.SingleCall?

Is there any guarantee using IPC that the messages will get to the server in
the same order I sent them?

Ditto for TCP and HTTP?

Thanks
Tom
 
Who is responsible for holding the queue?

When you use the oneway attribute, messages are fire and forget. The
receiving process will need to manage an incoming queue.

Is there any guarantee using IPC that the messages will get to the
server in the same order I sent them?

You should only use the oneway attribtue if you do not care about
reliablity. However for IPC I guess messages are delivered almost 100% of
the time - so I guess it should be safe to use. TCP/HTTP is a different
matter.

However, in general if you need to ensure delivery - don't use the one way
attribute.
 
OneWay is a dangerous attribute in case of disconnected objects. If you fire
the OneWay method several times when the server is dead, your threadpool
might be spammed up to the point your program grinds to a halt.

Kind regards,
 
Back
Top