[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference bulova::decw_jan-89_to_nov-90

Title:DECWINDOWS 26-JAN-89 to 29-NOV-90
Notice:See 1639.0 for VMS V5.3 kit; 2043.0 for 5.4 IFT kit
Moderator:STAR::VATNE
Created:Mon Oct 30 1989
Last Modified:Mon Dec 31 1990
Last Successful Update:Fri Jun 06 1997
Number of topics:3726
Total number of notes:19516

3660.0. "XtOpenDisplay/XOpenDisplay using TCPIP" by CSC32::B_KEMP (X'ed out TopFlite) Wed Nov 14 1990 09:57

     I have installed the UCX connection product(1.3) on my VAXStation 3100
(VMS 5.3) and am trying to connect to more than one display(2) from within
one process, using TCPIP to connect to one and DECNET to connect to the 
other.  I am able to connect to multiple displays if all of my XtOpenDisplay
calls are DECNET requests.  But, when I specify "node:0", I get back a
NULL in the display pointer.  The Ultrix node that I am attempting to 
connect to are in my UCX$CONFIG.DAT file and I can TELNET from those nodes
back to my node and I can ping my node from them.

     Here is the code stub where I attempt to open two displays.  But, 
I do not think my code is the problem.  It has to be something wrong
with the way I have my network configured.  XtOpenDisplay/XOpenDisplay
should be able to connect from VMS with UCX installed to Ultrix when
I get the setup right, shouldn't it?

     ---Bill


main(argc,argv)
unsigned int argc;
char **argv;
{
    XtToolkitInitialize();

    appcontext = XtCreateApplicationContext();
  
    display1 = XtOpenDisplay(appcontext,"yendor:0","MYAPP","myapp",
                             0,0,&argc,*argv);

    display2 = XtOpenDisplay(appcontext,"yoyodn::0","MYAPP","myapp",
                             0,0,&argc,*argv);
                       

    XtSetArg(arglist[0], DwtNx, 400);
    XtSetArg(arglist[1],DwtNy, 200);
    XtSetArg(arglist[2],DwtNallowShellResize, TRUE);

    toplevel1 = XtAppCreateShell( "MYAPP","myapp",
                            applicationShellWidgetClass,       
                            display1,arglist,3);

    toplevel2 = XtAppCreateShell( "MYAPP","myapp",
                            applicationShellWidgetClass,       
                            display2,arglist,3);

    .
    .
    .
    .
    .
    .
    .

}
T.RTitleUserPersonal
Name
DateLines
3660.1try set displayVINO::MCARLETONReality; what a concept!Wed Nov 14 1990 11:0236
    
    Try something like this
    
    $set display/create/node=yendor/transport=tcpip foo
    $set display/create/node=yoyodn/transport=decnet bar
    $sho log foo
       "FOO" = "_WSA37:"
    $sho log bar
       "BAR" = "_WSA38:"
    
    display1 = XtOpenDisplay(appcontext,"_WSA37:","MYAPP","myapp",
                             0,0,&argc,*argv);

    display2 = XtOpenDisplay(appcontext,"_WSA38:","MYAPP","myapp",
                             0,0,&argc,*argv);
    
    
    You can translate FOO and BAR inside your application if you want.
    to avoid hard coding the WSA numbers:
    
    
    char *foo,*bar;
    
    foo = getenv("FOO");
    bar = getenv("BAR");
    
    display1 = XtOpenDisplay(appcontext,foo,"MYAPP","myapp",
                             0,0,&argc,*argv);

    display2 = XtOpenDisplay(appcontext,bar,"MYAPP","myapp",
                             0,0,&argc,*argv);
    
    
    
    
    					MJC
3660.2Still stuck...CSC32::B_KEMPX'ed out TopFliteThu Nov 15 1990 10:3216
     I am still miffed by this.  I have hardcoded the workstation number
in the XtOpenDisplay, have UCX running, am authorized to access the server
node, have the address and nodename of the client in /etc/hosts on the 
server, but, still get a NULL in display1.  This all works fine using DECNET.
I can even use "node::0" in the XtOpenDisplay routine and open multiple 
displays as long as they are in my volatile database and I am authorized to
connect to the server.  If I do a create/term/display=foo and foo is the logical
from set display/create/node=yendor/transport=tcpip foo, the error that is 
returned is: 
             %DECW-E-CANT_OPEN_DISPL, Can't open display 
             %SYSTEM-F-IVLOGNAM, invalid logical name
which is in sys$message:decw$terminalmsg.exe.
      This does not sound like a security problem, but I am not sure where
to look.  Has anyone done this?

Bill
3660.3Single colon unsupportedSTAR::VATNEPeter Vatne, VMS DevelopmentThu Nov 15 1990 13:5912
Using a single colon to specify TCP/IP in XOpenDisplay and friends
is unsupported on VMS.  Mike's suggestion is the correct and supported
way to use both TCP/IP and DECnet transports in the same program.

Can you get any program to use TCP/IP?  For example,

	$ SET DISPLAY/CREATE/TRANS=TCPIP/NODE="yendor"
	$ RUN DECW$EXAMPLES:ICO

Note that TCP/IP node names must be quoted if the node names are
lower case, and they don't have an uppercase alias in the TCP/IP
node name database.
3660.4Lowercase was the key!CSC32::B_KEMPX'ed out TopFliteThu Nov 15 1990 15:0610
    I had to quote the Ultix node in the set display command as you stated. 
Thank you!!!
    Should you be able to use DECNET and TCPIP from one process/one application
context to open multiple displays.  I can now open either TCPIP transport
servers or DECNET transport servers from the application, but when I attempt 
to open a DECNET transport node after opening a TCPIP transport node, the call
to XtOpenDisplay fails with an accvio on the guard page.  Weird...
    Your help is greatly appreciated.

Bill
3660.5DECnet and TCP/IP should work in same programSTAR::VATNEPeter Vatne, VMS DevelopmentThu Nov 15 1990 15:223
I have been able to use both DECnet and TCP/IP from the same program
at the same time.  If you get an ACCVIO, then you must be tripping
on a new bug.  Please QAR it.  Thank you.