Solved

COM port simulation: Named Pipes

Posted on 2002-04-22
7
298 Views
Last Modified: 2013-11-20
I do not have 2 COM ports on the back of my PC, so I am trying to use an internal software pretend comport.

I am trying to use Named Pipes, as I require bidirectional FIFO comms. However, the examples I have seen all depend on knowing whether you are programming the client or server end of the pipe.. i.e. server: CreateNamedPipe().... Client: ConnectNamedPipe()...

I am trying to encapsulate this in a class so I can use the same code in both client and server ends... which ever end starts first will create the pipe, and which ever is last out will close the pipe. (hopefully, windows is clever enough to know that when I CloseHandle() the last one out will destroy the resources??? )

Any Ideas please???

Thanks.
Nigel.
0
Comment
Question by:nigel5
7 Comments
 
LVL 49

Expert Comment

by:DanRollins
ID: 6961098
THis article contains cod that creates a CNamedPipe class, derived from CFile.  It should answer all of your questions.

Garden Hoses at Work
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpic/html/msdn_npipes.asp

A quick read indicates that the author does *not* expect to make the ends of the pipe interchangeable.  One end is the server and one is the client.  But remember that communication is bidirectional, so it doesn't really matter which end is which once the connection is established.

-- Dan
0
 
LVL 3

Expert Comment

by:danny_pav
ID: 6962871
You can't make the ends interchangeable.

The closest you can do is to make your client continuously try to connect to a server.
0
 

Author Comment

by:nigel5
ID: 6963872
Ah, and if it can't connect, then it can open the server end...

Cool...

I'll give it a go.
0
Does Powershell have you tied up in knots?

Managing Active Directory does not always have to be complicated.  If you are spending more time trying instead of doing, then it's time to look at something else. For nearly 20 years, AD admins around the world have used one tool for day-to-day AD management: Hyena. Discover why

 

Author Comment

by:nigel5
ID: 7246175
Sorry for not getting back for a bit, but been doing lots of other things...

If you test to see if the pipe exists first you can either attach to it if it exists, or create it if it doesn't. That way you can make the same class handle the work, and you don't have to worry about the concept of server/client.

When you close the hanldes, Windows handles the cleanup, so the server can disconnect first, and the pipe can still be connected to by another process.
0
 
LVL 49

Expert Comment

by:DanRollins
ID: 7247313
nigel5,
If you have answered this question yourself, please post to Community Support and ask for a refund.  Better to finalize this now and save work for the database cleanup crew.
-- Dan
0
 
LVL 1

Accepted Solution

by:
DarthMod earned 0 total points
ID: 11462037
PAQed, with points refunded (200)

DarthMod
Community Support Moderator
Experts-Exchange
0

Featured Post

Are your AD admin tools letting you down?

Managing Active Directory can get complicated.  Often, the native tools for managing AD are just not up to the task.  The largest Active Directory installations in the world have relied on one tool to manage their day-to-day administration tasks: Hyena. Start your trial today.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction: Hints for the grid button.  Nested classes, templated collections.  Squash that darned bug! Continuing from the sixth article about sudoku.   Open the project in visual studio. First we will finish with the SUD_SETVALUE messa…
Introduction: Dialogs (1) modal - maintaining the database. Continuing from the ninth article about sudoku.   You might have heard of modal and modeless dialogs.  Here with this Sudoku application will we use one of each type: a modal dialog …
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…

803 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question