473,657 Members | 2,394 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Which inter-process communications technique is best?

Hello All,

This is my first post so apologies if this is the wrong newsgroup.

I'm designing software for a platform that will sit on a CAN bus. There
will be three separate programs running on the platform, A, B and C.
Program A will handle the CAN communications. It will pass messages
received from the CAN network to programs B and C and transmit their
messages out on the CAN network.

What is the best (fastest) method for transferring messages between the CAN
communications process and the other two processes?

Currently I'm leaning towards named pipes but would like to pass the CAN
messages as structures and not simply as "streams" of data.

Got any suggestions?

Thanks

Paul
Nov 17 '05 #1
4 1193
Hi Paul!
I'm designing software for a platform that will sit on a CAN bus. There
will be three separate programs running on the platform, A, B and C.
Program A will handle the CAN communications. It will pass messages
received from the CAN network to programs B and C and transmit their
messages out on the CAN network.

What is the best (fastest) method for transferring messages between the CAN
communications process and the other two processes?
I would suggest to use OPC...
It is a standard-interface (other apps also can connect to your
device)... you can simply use a OPC_Toolkit (for example
http://www.softing.com/en/communicat.../cplusplus.htm)

Currently I'm leaning towards named pipes but would like to pass the CAN
messages as structures and not simply as "streams" of data.


If you want a really fast solution you should either cinsidering of
writing a device-driver (which can be connected from different apps) or
you can use memory-mapped-files...

In general you can take a look at:
http://msdn.microsoft.com/library/en...unications.asp
But as I said: I would use OPC. It is really fast (erarly-bound COM is
fast (IMHO)) and it is a standard interface which can be used by others.

--
Greetings
Jochen

My blog about Win32 and .NET
http://blog.kalmbachnet.de/
Nov 17 '05 #2
Paul Baker wrote:
What is the best (fastest) method for transferring messages between the CAN
communications process and the other two processes?


I don't know CAN, but the fastest IPC is shared memory (memory mapped
files). It's just as fast to read/write data in shared memory as it is
in normal memory allocated with malloc or new. Nothing else can even
come close to that speed (sockets, pipes, COM, etc., are much slower).
This is, of course, when both processes reside on the same computer.

Tom
Nov 17 '05 #3
"Paul Baker" <pb****@liftsto re.com> wrote in message
news:uS******** ******@TK2MSFTN GP10.phx.gbl...
Currently I'm leaning towards named pipes but would like to pass the CAN
messages as structures and not simply as "streams" of data.

Got any suggestions?


As Jochen and Tamas have pointed out there are faster ways to go. But pipes
have a few appealing characteristics

1) they are easy to implement and use with file semantics
2) they are easily securable
3) they are easily impersonable
4) they can be message rather than stream oriented

And if you move the pipe server, you merely change the name of the pipe to
use in the client.

<rant>
As for COM, I hate it for no better reason than that it exists largely for
the benefit of VB "developers ". <gd&r> Plain vanilla RPC seems to me to be
far more attractive.
</rant>

Regards,
Will
Nov 17 '05 #4
Chaps,
Many thanks for the useful advice you've given me. I've got more choices
than I expected.

Jochen,
I'll try to cross-post in future! By the way I think we'll be using the
Softing FG-100 CAN to Ethernet gateway device.

Thanks

Paul
Nov 17 '05 #5

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

Similar topics

2
2671
by: Raymond H. | last post by:
Hello, I create a vb4 project which can also naviger on Internet via the WebBrowser control which I put on my form. My question is: if this program is installed on a station having already Internet Explorer in it then will it cause an error if version Internet Explorer is the same one as WebBrowser which is in my project? Is it this control which Internet Explorer uses? If that can cause errors of version then, instead, can I install this...
17
6135
by: John Bentley | last post by:
John Bentley: INTRO The phrase "decimal number" within a programming context is ambiguous. It could refer to the decimal datatype or the related but separate concept of a generic decimal number. "Decimal Number" sometimes serves to distinguish Base 10 numbers, eg "15", from Base 2 numbers, Eg "1111". At other times "Decimal Number" serves to differentiate a number from an integer. For the rest of this post I shall only use either...
3
4811
by: Edward | last post by:
ASP.NET / VB.NET SQL Server 7.0 Our client has insisted that we change our established practice of building SQL in-line and move it all to SPROCs. Not a problem for 80% of the app. However, we have a number of Search/Filter forms that contain a number of controls to allow more or less focused search criteria to be built up. I have a class that does this quite nicely, examining all controls for
9
6222
by: johkar | last post by:
I only have IE 6 and dial-up. Can you help me determine which browsers support this code? Thanks, John <html> <head> <title>Fixed Table Headers</title> <script language="JavaScript" type="text/javascript"> function fix(){
133
13217
by: Jane Withnolastname | last post by:
I have a web page that uses an unordered list (<UL>) and the LH (list header) tag. I know LH is a valid tag because it is clearly defined by the W3C here: http://www.w3.org/MarkUp/html3/bulletlists.html The problem is, when I try to validate the page at W3C, it tells me: " element "LH" undefined " My page is 4.01 Transitional, using charset windows-1252. Any ideas why this won't validate?
65
12568
by: Skybuck Flying | last post by:
Hi, I needed a method to determine if a point was on a line segment in 2D. So I googled for some help and so far I have evaluated two methods. The first method was only a formula, the second method was a piece of C code which turned out to be incorrect and incomplete but by modifieing it would still be usuable. The first method was this piece of text:
6
1507
by: TZ | last post by:
I have two classes, UIHousehold and WIZEditHousehold (both are winforms). UIHousehold creates and shows the WIZEditHousehold (WIZEditHousehold can't be modal, so UIHousehold doesn't know when WIZEditHousehold closes). A reference to a buffer within UIHousehold is supplied (passed by REF) to the constructor of WIZEditHousehold - that constructor saves the reference to the buffer in a member variable.
0
844
by: madhubabumallidi | last post by:
hi all, i am working on a webpage where i need to have two textboxes in a datagrid which are inter related i.e changes in one textbox should reflect on other and viceversa.please anyone help me solving this problem.
1
4957
by: Laurence | last post by:
Hi folks, As I konw: database partition (aka data partition?), the database can span multiple machines; table partition, the data within a table can seperate by certain condition. How about inter-partition and intra-partition? Is inter-partition database partition...?
4
2236
by: Mark | last post by:
Hi, I'm relatively new to Java, but have been a programmer for decades. I would like multiple instances of my Java app (on different computers on the same local LAN) to communicate with each other through notifications of some sort. For example, when instance 1 does a certain action, instances 2, 3, and 4 should be notified about it so they can react accordingly. I'm unaware of existing Java classes that deal with this sort of thing,...
0
8740
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 tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
8516
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 Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
8617
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 protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
1
6176
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 presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5642
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4173
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
1
2743
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
1970
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
2
1733
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

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.