CORBA 2.6 Administration Guide
TCP ESTAB 172.17.202.44 telnet 155.186.75.21 4251 0 0
TCP ESTAB 172.17.202.44 telnet 155.186.75.21 4533 52 0
TCP ESTAB 172.17.202.44 ftp 155.186.75.77 1246 0 0
TCP ESTAB 172.17.202.44 telnet 155.186.75.21 3639 0 0
TCP ESTAB 172.17.202.44 telnet 155.186.75.77 2339 0 0
TCP LISTEN 172.17.202.44 1033 0.0.0.0 * 0 0
TCP LISTEN 172.17.202.44 4000 0.0.0.0 * 0 0
TCP LISTEN 172.17.202.44 2240 0.0.0.0 * 0 0
TCP LISTEN 172.17.202.44 4001 0.0.0.0 * 0 0
TCP LISTEN 0.0.0.0 telnet 0.0.0.0 * 0 0
TCP LISTEN 0.0.0.0 ftp 0.0.0.0 * 0 0
TCP LISTEN 0.0.0.0 finger 0.0.0.0 * 0 0
TCP LISTEN 0.0.0.0 echo 0.0.0.0 * 0 0
TCP LISTEN 0.0.0.0 1089 0.0.0.0 * 0 0
UDP 0.0.0.0 69 0.0.0.0 * 0 0
Total Errors = 0 Total Warnings = 0
One of the example IORs displayed in Cannot Run Client showed that the server was configured to listen on port 2240. The
scf status process \$ZTC0 command output shows that the server is, indeed, running and listening for client
connections on that port.
If the scf status process \$ZTC0 command does not show the port number that the server was configured to listen
on, then see NonStop CORBA Listening on the Wrong Socket.
Explanation: The TCP configuration is the simplest configuration to use. Even if it is not the final configuration that is used in
production, it allows the user to quickly test a CORBA server. However, there are some problems with it.
The first is that the port number must be a unique port number, not used by any other process. When the server starts
with the TCP configuration, it will open a socket and wait for connections on that port. The user needs to verify that
each TCP server is assigned a new, unique port number.
●
The second problem is the use of preallocated port numbers can create object reference collision. That means that if a
stack server is started with a TCP configuration, then a second stack server cannot be executed with the same TCP
configuration. That is because the second server will use the same IP address and port number as the first server;
therefore, all the clients will connect only to the second server, and the first servers object reference will become
invalid. That is, if a client will try to use the object reference of the first server, it will fail with the
org.omg.CORBA.COMM_FAILURE error message.
●
To ensure that each TCP server uses a unique port number, configure the entity tcp_server@ORB as follows:
port_number 0
tcp_server true
host_name localhost
Assigning a port number of 0 causes NonStop CORBA to assign an available port to each new server.
NonStop CORBA Listening on the Wrong Socket
Problem: The CORBA server process is running, but the scf show status command shows that the server is not
listening on the correct socket. The client program gets the COMM_FAILURE error message.
Solution: To ensure that the CORBA server is using the correct TCP/IP process for communication with the client, add a
DEFINE to your environment with the following command, specifying the correct TCP/IP process name in place of $ZTC0:
add_define =TCPIP^PROCESS^NAME class=map file=\$ZTC0
To determine the correct TCP/IP process name for the system and IP address you use, see the example of scf info
subnet in Verifying TCP/IP Configuration.