⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme

📁 这是广泛使用的通信开源项目,对于大容量,高并发的通讯要求完全能够胜任,他广泛可用于网络游戏医学图像网关的高qos要求.更详细的内容可阅读相应的材料
💻
📖 第 1 页 / 共 2 页
字号:
                to the sender with the ior of its root Naming Context.
                Note, the port used for this bootstrapping process,
                i.e., 'multicast port', has nothing to do with the ORB
                port used for CORBA communication.  Other points worth
                mentioning:

                - A client and a server will only click through this
                  multicast protocol if they are using the same
                  multicast port.  For both client and server
                  -ORBnameserviceport command-line option and
                  NameServicePort environment variable can be used to
                  specify the multicast port to use.  If none is
                  specified, the default port is used.  (The ability
                  to specify multicast ports can be used to match
                  certain clients with certain Naming Servers, when
                  there are more than one Naming Server running on the
                  network).

                - If there are several Naming Servers running on the
                  network, each listening on the same port for
                  multicast requests, each will send a reply to a
                  client's request.  The client's orb will use the
                  first response it receives, so the Naming Service
                  will, in fact, be selected at random.

                Since this mechanism is proprietary to TAO (i.e.,
                non-standard), it only works when both client and
                server are written using TAO.  There is no way to turn
                multicasting off on the client side, but it is used
                only as a last resort, i.e., any of the other options
                will override it.

                When OS platform doesn't support multicast, or client
                or server isn't written using TAO, or a more
                reliable/predictable location method is desired, etc.,
                one of the other options can be used to bootstrap to
                the Naming Service.


How to use the NT_Naming_Service
================================

To set the options for the TAO Naming Sevice, go to the Services icon
in the Settings group under the start menu (start menu -> settings ->
services).  There, highlight the NT_Naming_Service, which is the name
used by the Naming Service when it is registered.  After it's
highlighted, you should see at the bottom of the dialog box an area to
specify options.  Just enter the options you wish in that edit box and
everything should just work.  However, some options, such as
-ORBDebugLevel, won't work since an NT service can't write output to
standard out.

1. Syntax

        % NT_Naming_Server [-i value]
                           [-r]
                           [-s]
                           [-k]
                           [-t n]
                           [-d]

2. Optional Command-line Arguments

        -i value
                Install this program as an NT service, with specified startup

        -r
                Remove this program from the Service Manager
        -s
                Start the service

        -k
                Kill the service

        -t value
                Set startup for an existing service

        -d
                Debug; run as a regular application

3. Usage

        To see different stages of an NT service application, you have
        to run the program several times, with different options.
        Please note: run with only one option at a time.

        a. First, you must initialize the service in the NT SCM
           database.  Run NT_Naming_Service with -in, where n is one of
           the following startup options:

           // Start Type (from WinNT.h)
           //
           #define SERVICE_SYSTEM_START    0x00000001
           #define SERVICE_AUTO_START      0x00000002
           #define SERVICE_DEMAND_START    0x00000003
           #define SERVICE_DISABLED        0x00000004

           If only -i is specified, SERVICE_DEMAND_START is default option.

        b. Now you are ready to run the actual service. Run
           NT_Naming_Service again, this time with -s option. If the
           service starts successfully, it will ring the system
           bell every second or so until the service is stopped.

        c. To stop service execution, run NT_Naming_Service with the
           -k option.

        d. To remove the service from the Service Control Manager
           database, run NT_Naming_Service with -r.

        In addition, once you have initialized this service (by using
        the -i option) you can change its startup type to one of the
        other values above.  To do this, run NT_Naming_Service with
        -tn option. n is as explained above for -i.

        In order to debug the service's execution itself, use the -d
        option.

Troubleshooting
============================================

Q1. Error Message: "subscribe: no such device"

A1. On starting, the error message "subscribe: no such device" is a
rather cryptic message saying that basically either you don't support
multicasting or there is no route for multicasting on one of your
network interfaces( e.g. eth0 ).

---------------------------------------
(Step 1)
Check to see if you have mutlicasting enabled. In the case of Linux
you will need to check the configuration of your kernel. RedHat users
have multicasting enabled by default. Once you are sure that you have
multicast enabled then move to the next step. Alternative is to start
Naming_Service with multicast disabled.


---------------------------------------
(Step 2)
Check to see if you have the route for multicasting. Linux users can
do this by running:

	/sbin/route

You should see something like this:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.0        *               255.255.255.0   U     0      0        0 eth0
127.0.0.0       *               255.0.0.0       U     0      0        0 lo
224.0.0.0       *               240.0.0.0       U     0      0        0 eth0

If you don't see the line for multicast routing:

224.0.0.0       *               240.0.0.0       U     0      0        0 eth0

You will need to add in the next step. If you do see that line and the
problem is still there then contact the tao-users list by using
email. Please remember to use the problem form. It helps developers to
have a more educated guess at the exact problem you are having.


---------------------------------------
(Step 3)

You can do this manually in a script that start the Naming service:

(Linux/Unix):

	/sbin/route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0

Alternatively for RedHat users you can add this into a file
"/etc/sysconfig/static-routes". As of Redhat 7, you might have to
create this file, you can make an entry:

	eth0 net 240.0.0.0 netmask 240.0.0.0

On startup when the network interfaces that will be supporting
multicast routing are started the route will be added. In my case it
adds multicasting routing to eth0 (the first NIC).

----------------------------------------
(Step 4)

Double check that the route has been added correctly using /sbin/route.

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.0        *               255.255.255.0   U     0      0        0 eth0
127.0.0.0       *               255.0.0.0       U     0      0        0 lo
224.0.0.0       *               240.0.0.0       U     0      0        0 eth0

At this point you should be able to run Naming_Service. Have fun!

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -