#1 2016-01-07 16:41:23

edwinsn
Member
Registered: 2010-07-02
Posts: 1,218

HTTP is much stable and fast then named pipe and win messaging

Some of my experiments shows that using HTTP as the communication channel is preferred than Named Pipe or Winapi messaging, even your scenario is same-machine inter-process architecture, for the following reasons:

- Establishing a named pipe connection is much slower.
- Using named pipe will become unstable very quickly as your program runs.
- Using Windows messaging can easily lead to dead-locking.


I guess this because people mostly use the http channel and seldom use named pipe or win messaging, so problems and bugs related to those two communication channels were not being found, reported nor fixed...


Delphi XE4 Pro on Windows 7 64bit.
Lazarus trunk built with fpcupdelux on Windows with cross-compile for Linux 64bit.

Offline

#2 2016-01-07 18:50:34

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,666
Website

Re: HTTP is much stable and fast then named pipe and win messaging

It corroborates my own findings.

In practice, I now use WebSockets for all inter-process communication, since it is fast, reliable, has some performance boosts (e.g. when gathering notifications as "jumbo-frames"), and allows two-way callbacks for SOA services, which is IMHO a killing feature!

Offline

#3 2016-01-08 06:45:40

edwinsn
Member
Registered: 2010-07-02
Posts: 1,218

Re: HTTP is much stable and fast then named pipe and win messaging

@ab, actually I was thinking of using WebSockets too, I'll give it a try next ! smile


Delphi XE4 Pro on Windows 7 64bit.
Lazarus trunk built with fpcupdelux on Windows with cross-compile for Linux 64bit.

Offline

Board footer

Powered by FluxBB