Solved

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

Posted on 2011-03-05
4
503 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 40

Expert Comment

by:noci
ID: 35048314
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
ID: 35048872
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 40

Accepted Solution

by:
noci earned 500 total points
ID: 35055240
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
ID: 35114677
I located an example listener. Thanks NOCI!

Tim
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
jump server vs push server 6 177
FMX TCameraComponent Problem 2 82
Undo a Print Server Setup 5 90
Visual Studio 2013 and Eclipse Neon 6 48
Many modern programming languages support the concept of a property -- a class member that combines characteristics of both a data member and a method.  These are sometimes called "smart fields" because you can add logic that is applied automaticall…
Container Orchestration platforms empower organizations to scale their apps at an exceptional rate. This is the reason numerous innovation-driven companies are moving apps to an appropriated datacenter wide platform that empowers them to scale at a …
The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.
The viewer will learn additional member functions of the vector class. Specifically, the capacity and swap member functions will be introduced.

809 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