Solved

Communicating between an OpenVMS and Windows via an IPDaemon FTP Server?

Posted on 2011-03-05
4
494 Views
Last Modified: 2012-05-11
I have two applications; an application on an OpenVMS system the other on a Windows PC. The OpenVMS application would execute TCPIP/DCL commands to the Windows application. The windows application is coded with VS2010 C++ and IPWorks V5.

The problem:  perform work on OpenVMS then using a DCL command, wake up the PC client application and finish the work on the PC.

FTP and TELNET are the options to communicate with the PC application. I am considering creating an embedded FTP server in the Windows application, associate a task to a file name and do work when an empty file is received on the FTP server.  This approach isn't elegant but appears very functional as I could, from the OpenVMS system,  transfer any number of files, each associated with a dedicated PC task. If you have a better approach, please send it along.

IPWorks Help, embed IPDaemon in my C++ Windows app. Let me know your thoughts on the approach. If you have example code you can forward, it would be very much appreciated.

Current tools available,  IPWorks V5 C++, IPWorks V8 .Net.

Many thanks!

Tim
0
Comment
Question by:TimPeer
  • 2
  • 2
4 Comments
 
LVL 39

Expert Comment

by:noci
Comment Utility
Ok,

You can better wait for a connect on the windows system. (listen...).
On VMS you can use TELNET /CREATE to create a TNAnnnn device you can use to send command through to the remote system.

The TNAnnnn device can be opened using OPEN/READ/WRITE lnm TNAnnnn
and you can send data using WRITE lnm "xxxx"
etc.

This is much less overhead.
0
 

Author Comment

by:TimPeer
Comment Utility
Interesting. Would I create a Telnet Server listener in my Windows C++ application? I understand the Telnet create.. but am confused on what I should be checking on the Windows side. Last night located an FTP server written in C++ which was being integrated to the app. A telnet solution would seem to be a better / cleaner solution. Can you offer more details of the process with more detail on the windows side?

Many thanks!
0
 
LVL 39

Accepted Solution

by:
noci earned 500 total points
Comment Utility
The C-RTL has a set of routines (socket(), bind(), listen(), read(), write(), close(), setsocketopt())
to manage a link.

The flow is like:
s = socket(....);    // create a socket
bind(s,.....);         // set listening port
while (1) {
    c = listen(2)          // wait for connection, with room to receive 2 simultaneous req.
    read(c,....)           // read/write (sync, for simple signaling server)
    write(c,.....)         // respond with a reply
    close(c);             // bye bye...
}

For windows there should be more or less equivalent calls.
close(s);         // when the server shuts...
0
 

Author Closing Comment

by:TimPeer
Comment Utility
I located an example listener. Thanks NOCI!

Tim
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
How to summarize these IPv6 address 2 492
Infragistics Ultragrid 3 68
source code to scan multiple images 6 75
hp laptop wireless issue 19 60
Written by John Humphreys C++ Threading and the POSIX Library This article will cover the basic information that you need to know in order to make use of the POSIX threading library available for C and C++ on UNIX and most Linux systems.   [s…
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
The viewer will learn how to user default arguments when defining functions. This method of defining functions will be contrasted with the non-default-argument of defining functions.
The viewer will be introduced to the member functions push_back and pop_back of the vector class. The video will teach the difference between the two as well as how to use each one along with its functionality.

744 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

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now