473,401 Members | 2,068 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,401 software developers and data experts.

How to use multiple channels

Hi,
i have two applications, which communicates very extrem together. With the
IPC-Channel i receive often the messages like "all instances of the
requested pipe are busy". So i want to use multiple Channels to communicate,
maybe 10 Connections.

For this scenario i created on each side 10 Servers and 10 Channels, each
Channel has a Number in its Name(for example myserver.0 to myserver.9 and
myclient.0 to myclient.9)

In The Activator.GetObject-Method, i use randomly one of the 10
Channel-Names. This works great.

But the Problem is, that all responses use only the first Client-Channel. An
example:

dim Obj as TMyObject = Activator.GetObject(GetType(TMyObject),
"ipc://myserver.0/MyObject")
Obj.ExecFunction(aMarshalObject)

Serversite: aMarshalObject.CallAnotherFunction - this use every time the
first
Clientchannel: ipc://myClient.0/ and never any other Channel.

Now the simple Question: How can i specifiy, what channel is used for a
Callback or a Callback of a Callback, ....?
If the an object is created manually(Activator.GetObject), i can specifiy
the Channel, but not if objects are created with New on Clientside.

Here's a detailed Example zu explain my Problem:

First the Server starts and do something:

Create 10 Server-Channels(and Receivers of course, too):
ipc://server.0
ipc://server.1
ipc://server.2
....
ipc://server.9

For each Server-Channel a Entrypoint(as WellKnownServiceType) will be
createt:
ipc://server.0/EntryPoint
ipc://server.1/EntryPoint
ipc://server.2/EntryPoint
....
ipc://server.9/EntryPoint

Now can start the Client-Application und creates some Channels(Senders &
Receivers):
ipc://client.0
ipc://client.1
ipc://client.2
....
ipc://client.9

No Objects should Registred, because the Server-Application never connects
to
a Client-Application.

No can the Remoting start. The Client call:
Dim Entry As EntryPoint =
Activator.GetObject(GetType(TRemoteWorkerProcessSt art),
"ipc://server.X/EntryPoint") 'X --> 0-9

dim ms as new IO.MemoryStream(...)
EntryPoint.ExecutePage(ms)

This Method change the Roles, now the Client-Application deliver a
Remote-Object(IO.Memorystream). I see in an Process-Explorer, that my
Clientapplication now communicates only over the *first* IPC-Client-Channel.
How can i specify, that my Client application should deliver the
MemoryStream on a specified Channel?

Now the second example. Maybe, we don't use a Memorystream. Let's say we use
a custom MarshalByRefObject, that my Client-Application have to send the
Server-Application. And now the Server want to send another
MarshalByRefObject back, as a new Call in the Stacktrace(not as a
Return-Message). This is the same Problem.

For information: All calls should be in the same Context as the first Call
in the Entrypoint(i dont mean a native .NET Context, i mean, that no
"shared" Objects should be delivered).
If you want to know, what my Application is: I wrote a custom
Webapplication(without using System.Web) as Windows-Service. A real
Webapplication(ASPX) ist the "Client-Application". If 10 Users call a
Webpage, all Calls should be on differen Channels, even the CallBacks.

And please don't ask me why i didn't write my Application directly in
ASP.NET ;)

Sebastian
Mar 3 '06 #1
0 1250

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

6
by: Rolf Wester | last post by:
Hi, I have a form with a select element with multiple="true". When using the GET method (I suppose the same happens with the POST method) I can seen that the form sends channels=CH1&channels=CH2...
3
by: Raseliarison nirinA | last post by:
hi all, i found an unanswered question at http://www.faqts.com/knowledge_base/index.phtml/fid/538 with possible response below. i've tried to send it at faqt.python but can't figure out how to...
2
by: web1110 | last post by:
Hi y'all, I'm playing with C# again, trying to implement a remoted calculator exercise. If I include: using System.Runtime.Remoting.Channels.Http; I get the error:
5
by: Uchiha Jax | last post by:
Hello all, Given my general greenness when it comes to remoting and my desire to having something relatively stable up and running in the short term I have been considering the purchase of...
4
by: marcelino | last post by:
Hi, I have c# express beta I try to write the following using clause: System.Runtime.Remoting.Channels.Http; because I want to create a http channel. HttpChannel aJobChannel = new...
0
by: Kirk | last post by:
I'm trying to use a Web Service to be a Remoting client of an existing ..NET 2.0 server. But I get the following error when I try to use System.Runtime.Remoting.Channels.Http in my WebService. ...
0
by: Sebastian Loncar | last post by:
Hi, i have two applications, which communicates very extrem together. With the IPC-Channel i receive often the messages like "all instances of the requested pipe are busy". So i want to use...
1
by: james.cssa | last post by:
When I try to compile the following program on Visual Studio 2005 Pro, the namespace System.Runtime.Remoting.Channels.Tcp is not recongized by the compiler. (The "Tcp" part is highlighted.) And I...
3
by: breeto | last post by:
If you've configured .NET Remoting to use more than one channel of the same type, for example two TcpClientChannels with unique names, when you want to create a proxy to a remote object how do you...
3
by: sickboy | last post by:
$channels=$_GET; if (empty($channels)) { $channels='blank'; } changechannels($channels); $theatre=$_GET; if (empty($theatre)) { $theatre='splash'; } changetheatre($theatre); $info=$_GET; if...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.