Why not? Scalability. You now have a system that will only run on cpu.
With Media streaming apps such as Ross is writing it is certainly an advantage to have a scalable app that can run on more than one process to take advantage of streaming tools.

there is nothing inherantly wrong with using files, or memory or whatever, until oneday you want/need to scale your application and if you havent architected it well, which I find so many havent, you will be doing a rewrite, instead of swapping one message streaming protocol out for another.

So all I am saying is that the Pro's list for TCP is (in most cases) a lot higher than any other method for passing messages from one process to another. Advantages? Any of my systems will talk to any other system from anywhere at all in the lan/wan, localhost is just another case of clustered communication. I build from the ground up for scalability. That is an advantage. All the time I contract to companies who after years of developing things using files, shared memory etc, are growing and then go, oh hell. It's not scalable is it?

If you fit in that category, then contrats.

On Fri, 25 Nov 2005 14:14:41 +1300, Leigh Wanstead <[EMAIL PROTECTED]> wrote:

Why not use share memory? Nothing will be faster than sharing the same
memory block. Of course need to be little careful.

Regards
Leigh
http://www.salenz.com

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Kyley Harris
Sent: Friday, 25 November 2005 2:05 p.m.
To: NZ Borland Developers Group - Delphi List
Subject: Re: Re: [DUG] Reference counting


wanted the audio engine to be separate from the application which
controls it.  So I have 2 apps which needed fast communication, since
it's providing VU meter data and elapsed times etc continuously 20 times
a second.  I don't think TCP would handle that well.

;) I Think you should test. TCP runs as fast as your network card. so
around 10mb per second
on a 100mb card.

The following code runs at around 5,500 iteratations a second as a ping
returning same
quantity of data, not 20.... As I said, its not TCP thats slow, its the
programmers who implement
stuff on top of it.

procedure TForm1.BitBtn1Click(Sender: TObject);
var
   i:integer;
   l:TLIst;
   c:cardinal;

begin
   IdTCPClient1.Host := 'localhost';
   IdTCPClient1.Port := 11000;
   IdTCPClient1.Connect;

   i := 0;
   c := GetTickCount;
   repeat

     IdTCPClient1.WriteLn('Testing one two three four five size seven
eight');
     IdTCPClient1.ReadLn;
     Inc(i);
   until GetTickCount-c > 1000;
   showmessage(inttostr(i));


end;
On Fri, 25 Nov 2005 12:07:06 +1300, Ross Levis <[EMAIL PROTECTED]>
wrote:

TCP is definately useful.  I've implemented a remote utility to check
the status of my player and provide some control and details of what's
playing etc, but I decided to use the memory sharing facility because I
wanted the audio engine to be separate from the application which
controls it.  So I have 2 apps which needed fast communication, since
it's providing VU meter data and elapsed times etc continuously 20 times
a second.  I don't think TCP would handle that well.

This system allows users to install an update to the controlling
application without stopping play, assuming the audio engine doesn't
need updating as well.  This is useful since it is designed for radio
broadcasting.

Ross.
_______________________________________________
Delphi mailing list
[email protected]
http://ns3.123.co.nz/mailman/listinfo/delphi


_______________________________________________
Delphi mailing list
[email protected]
http://ns3.123.co.nz/mailman/listinfo/delphi



--
Kyley Harris
+64-21-671821
_______________________________________________
Delphi mailing list
[email protected]
http://ns3.123.co.nz/mailman/listinfo/delphi

Reply via email to