1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
|
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<!-- $Id$ -->
<html>
<head>
<title>-ORBEndpoint Details</title>
<!-- Changed by: , 12-Jun-2002 -->
</head>
<body text = "#000000" link="#000fff" vlink="#ff0f0f" bgcolor="#ffffff">
<h1><A HREF="Options.html#-ORBEndpoint">-ORBEndpoint</A> Details</h1>
<P>
<UL>
<LI><A HREF="#Overview">Overview</A></LI>
<LI><A HREF="#Options">Endpoint-Specific Options</A></LI>
<LI><A HREF="#IIOP">IIOP Endpoints</A></LI>
<LI><A HREF="#SHMIOP">SHMIOP Endpoints</A></LI>
<LI><A HREF="#UIOP">UIOP Endpoints</A></LI>
<LI><A HREF="#DIOP">DIOP Endpoints</A></LI>
<LI><A HREF="#SSLIOP">SSLIOP Endpoints</A></LI>
</UL>
<hr>
<P><h2><A NAME="Overview">Overview</A></h2>
Tells the ORB to listen for requests on the interface specified
by <I><EM>endpoint</EM></I>. Endpoints are specified using a
URL style format. An endpoint has the form:
<blockquote><CODE>
protocol://V.v@addr1,...,W.w@addrN
</CODE></blockquote>
where <CODE>V.v</CODE> and <CODE>W.w</CODE> are optional protcol
versions for each address. An example of an IIOP endpoint is:
<blockquote><CODE>
iiop://<I><EM>hostname</EM></I>:<I><EM>port</EM></I>
</CODE></blockquote>
Sets of endpoints may be specified using multiple
<CODE>-ORBEndpoint</CODE> options or by delimiting endpoints with
a semi-colon (;). For example:
<blockquote><CODE>
-ORBEndpoint iiop://localhost:9999 -ORBEndpoint uiop:///tmp/mylocalsock -ORBEndpoint shmiop://10002
</CODE></blockquote>
is equivalent to:
<blockquote><CODE>
-ORBEndpoint 'iiop://localhost:9999;uiop:///tmp/mylocalsock;shmiop://10002'
</CODE></blockquote>
Notice the single quotes (') in the latter option specification.
Single quotes are needed to prevent the shell from interpreting
text after the semi-colon as another command to run.
<P>
If an endpoint is specified without an <CODE>addr</CODE> such as
the following:
<blockquote><CODE>
-ORBEndpoint uiop:// -ORBEndpoint shmiop://
</CODE></blockquote>
then a default endpoint will be created for the specified protocol.
<P>
This is a server side option.
<hr>
<P>
<h2><A NAME="Options">Endpoint-Specific Options</A></h2>
<P>
The <CODE>-ORBEndpoint</CODE> options can accept
endpoint-specific options. Specifically, such options will only
apply to the endpoint for which they were specified.
<P>
An endpoint-specific option is used as follows:
<BLOCKQUOTE>
<CODE>
-ORBEndpoint iiop://foo:1234/option=value
</CODE>
</BLOCKQUOTE>
<P>
Additional options can be specified by separating each option
with an ampersand '<CODE>&</CODE>' as follows:
<BLOCKQUOTE>
<CODE>
-ORBEndpoint 'iiop://foo:1234/option1=value1&option2=value2'
</CODE>
</BLOCKQUOTE>
<P>
Notice that the address and the endpoint-specific options are
separated by a forward slash '<CODE>/</CODE>' in this case,
i.e. for IIOP endpoints. This character may differ for other
types of pluggable protocol endpoints. For example, UIOP
endpoint-specifc options are separated from the address by a
vertical bar '<CODE>|</CODE>'. Also note that when using more
than option, quotes should be used to prevent the shell from
interpreting the ampersand '<CODE>&</CODE>' as a command to
tell the shell to backgroup a job.
<hr>
<P>
<h2><A NAME="IIOP">IIOP Endpoints</A></h2>
TAO's IIOP pluggable protocol utilizes TCP/IP as its underlying
transport mechanism.
<P>
<h3>IIOP Endpoint Overview</h3>
<P>
IIOP endpoints in TAO have the form:
<BLOCKQUOTE>
<P>
<CODE>
-ORBEndpoint iiop://V.v@hostname1:port1,...,W.w@hostname2:port2
</CODE>
</BLOCKQUOTE>
<P>
Where "<CODE>V.v</CODE>" and "<CODE>W.w</CODE>" are the IIOP
protocol versions associated with the given address
(hostname:port pair). Currently supported versions are
<CODE>1.0</CODE>, <CODE>1.1</CODE>, and <CODE>1.2</CODE>.
<P>
Options are separated from the addresses by a forward slash
'<CODE>/</CODE>'. For instance, if an IIOP endpoint should have
a property foobar of 50 associated with it, then the following
endpoint specification could be used
<BLOCKQUOTE>
<P>
<CODE>
-ORBEndpoint iiop://hostname:port/foobar=50
</CODE>
</BLOCKQUOTE>
<P>
<h3>IIOP Address Format</h3>
<P>
IIOP addresses are comprised of a hostname (or an IP address)
and a TCP port the server should listen on. The hostname is
used to select which network interface to set up the endpoint
on. It is <STRONG>not</STRONG> used to set the hostname that
goes into the generated IOR. This is especially useful if the
endpoint should be setup on a specific network interface other
than the default network interface.
<P>
Suppose a host has the following network interfaces:
<UL>
<LI>eth0: foo1.bar.baz <FONT COLOR=RED>(DEFAULT)</FONT></LI>
<LI>eth1: foo2.bar.baz</LI>
</UL>
<P>
To set up an endpoint on the second network interface "eth1,"
the following endpoint specification could be used:
<BLOCKQUOTE>
<P>
<CODE>
-ORBEndpoint iiop://foo2
</CODE>
</BLOCKQUOTE>
or:
<BLOCKQUOTE>
<P>
<CODE>
-ORBEndpoint iiop://foo2.bar.baz
</CODE>
</BLOCKQUOTE>
<P>
TAO will attempt to ensure that the fully qualified domain name is
embedded in the IOR.
<P>
In the above example, an available port will be chosen by TAO
(actually the operating system kernel), which will then be
placed into the IOR.
<P>
To set up an endpoint on a specific port, simply use an endpoint
of the form:
<BLOCKQUOTE>
<P>
<CODE>
-ORBEndpoint iiop://foo2:1234
</CODE>
</BLOCKQUOTE>
<P>
where <CODE>1234</CODE> is the TCP port the endpoint will be
opened on. In this case, an endpoint will be opened on the
network interface associated with the hostname <CODE>foo2</CODE>
on port <CODE>1234</CODE>.
<P>
Port <I>names</I> are also accepted. For example, suppose a
UNIX installation has a service called "my_protocol" associated
with port 1234 in the service database in
<CODE>/etc/services</CODE>, then the following would cause an
endpoint to be opened on the port associated with that service:
<BLOCKQUOTE>
<P>
<CODE>
-ORBEndpoint iiop://foo2:my_protocol
</CODE>
</BLOCKQUOTE>
<P>
Port numbers range from <CODE>0</CODE> (causes port to be chosen
by operating system) to <CODE>65355</CODE>. Port numbers less
than <CODE>1024</CODE> on UNIX systems are considered
privileged, and require super-user privileges to access them.
Also be aware that some ports may already be in use by other
applications.
<P>
Suppose an endpoint should be created on each network
interface. To do so, simply omit the address from the endpoint
specification as follows:
<BLOCKQUOTE>
<P>
<CODE>
-ORBEndpoint iiop://
</CODE>
</BLOCKQUOTE>
<P>
In this case, an endpoint will be set up on each network
interface detected by TAO. The port for each opened endpoint
will be chosen automatically. The chosen port will be the same
for all endpoints. Each endpoint will be represented in
generated IOR as a separate profile.
<P>
Note that network interface detection only work on platforms
that support this feature. If network interface detection isn't
supported, then the default network interface will be chosen.
<P>
Now suppose that an endpoint should be created on each detected
network interface, but with a specific port. This can be
achieved by using an endpoint specification of the form:
<BLOCKQUOTE>
<P>
<CODE>
-ORBEndpoint iiop://:1234
</CODE>
</BLOCKQUOTE>
<P>
This will create endpoints on each detected network interface,
each with the TCP port <CODE>1234</CODE>. Notice that there is
a colon '<CODE>:</CODE>' preceeding the port number
<CODE>1234</CODE>. That colon is necessary to make TAO
interpret <CODE>1234</CODE> as a port. Without the colon, TAO
would interpret <CODE>1234</CODE> as a hostname associated with
a given network interface.
<P>
<P>
The hostname part of an endpoint can also be specified as a literal
IP address in 'dotted decimal address' form for IPv4 addresses:
<BLOCKQUOTE>
<P>
<CODE>
-ORBEndpoint iiop://192.168.10.24:1234
</CODE>
</BLOCKQUOTE>
For IPv6 addresses a special form is required to specify decimal IP
addresses since the decimal separator for IPv6 addresses is identical
to the separator used for port numbers; i.e. a colon (':').
To be able to distinguish an endpoint specification for host 01ef::1
and port 123 and one for host 01ef::1:123 and no port number IPv6
decimal addresses need to enclosed by square brackets ('[' and ']'):
<BLOCKQUOTE>
<P>
<CODE>
-ORBEndpoint iiop://[01ef::1]:123
-ORBEndpoint iiop://[01ef::1:123]
</CODE>
</BLOCKQUOTE>
<B>NOTE:</B>
Since IPv6 endpoint are supported only for GIOP/IIOP versions >= 1.2
it is <FONT color='RED'>illegal</FONT> to combine version numbers
< 1.2 and IPv6 decimal addresses:
<BLOCKQUOTE>
<P>
<CODE>
-ORBEndpoint iiop://1.1@[01ef::1]:123 <B><FONT color='RED'>--> ILLEGAL</FONT></B>
</CODE>
</BLOCKQUOTE>
<P>
<h3>IIOP Endpoint-Specific Options</h3>
<P>
TAO supports the following endpoint-specific options that apply only
to IIOP endpoints:
<TABLE BORDER="2" CELLSPACING="2" CELLPADDING= "0">
<TR>
<TH>Option</TH>
<TH>Availability</TH>
<TH>Description</TH>
</TR>
<TR>
<TD>
<CODE>portspan</CODE>
</TD>
<TD>
<CODE>TAO 1.1.15</CODE>
</TD>
<TD>
The <CODE>portspan</CODE> option specifies that an IIOP endpoint
should be opened on the first available port within a
specified span of port numbers, beginning with a specified
initial port. This option is useful when one or more servers
may be restricted to using ports within a given range. The
intention is that the behavior should be similar to using
ephemeral ports except within a restricted user-defined
range.
<P>
The format for <CODE>ORBEndpoint</CODE> with the
<CODE>portspan</CODE> option is:
<BLOCKQUOTE>
<CODE>-ORBEndpoint iiop://[</CODE><I>hostname</I><CODE>]:</CODE><I
>initialPort</I><CODE>/portspan=</CODE><I>span</I>
</BLOCKQUOTE>
where <I>initialPort</I> is the initial port number in the
range of allowable ports, and <I>span</I> is an integer
value indicating the size of the span of allowable ports.
Valid values for <I>initialPort</I> include any valid port
number. Valid values for <I>span</I> are in the
range <CODE>1</CODE> to <CODE>65535</CODE>. The
<I>hostname</I> (in <CODE>[ ]</CODE>)is optional.
<P>
The server's ORB will attempt to create a listening endpoint
beginning with the initial port. If that fails, it will try
the next port in the range. It will continue to try each
port in the range until it
is able to successfully open one for listening or until it has exhausted the range
<CODE>[initialPort:initialPort+span-1]</CODE> at which point it fails with a <CODE>CORBA::BAD_PARAM</CODE> system exception.
</TD>
</TR>
<TR>
<TD>
<CODE>hostname_in_ior</CODE>
</TD>
<TD>
<CODE>TAO 1.2.4</CODE>
</TD>
<TD>
The <CODE>hostname_in_ior</CODE> option allows one to
specify the hostname that is inserted into the generated
IOR. This option overrides the default (local) hostnames
that TAO normally inserts. This can be useful in
environments where the hostname in use is one whose IP
address changes dynamically.
<P>
The format for <CODE>ORBEndpoint</CODE> with the
<CODE>hostname_in_ior</CODE> option is:
<BLOCKQUOTE>
<CODE>-ORBEndpoint iiop://[</CODE><I>local_hostname</I><CODE>]:</CODE><I
>port</I><CODE>/hostname_in_ior=</CODE><I>overridden_hostname</I>
</BLOCKQUOTE>
where <I>local_hostname</I> and <I>port</I> are specified
as normal, and <I>overridden_hostname</I> is the hostname
that should be put into generated IORs.
</TD>
</TR>
<TR>
<TD>
<CODE>reuse_addr</CODE>
</TD>
<TD>
<CODE>TAO 1.4.8</CODE>
</TD>
<TD>
The <CODE>reuse_addr</CODE> option allows one to
specify the reuse_addr flag.
<P>
The format for <CODE>ORBEndpoint</CODE> with the
<CODE>reuse_addr</CODE> option is:
<BLOCKQUOTE>
<CODE>-ORBEndpoint iiop://[</CODE><I>local_hostname</I><CODE>]:</CODE><I
>port</I><CODE>/reuse_addr=</CODE><I>overridden_reuse_addr</I>
</BLOCKQUOTE>
</TD>
</TR>
</TABLE>
<P>
<h3>IIOP Endpoint Examples</h3>
<P>
Here are some additional examples of IIOP endoints:
<UL>
<LI><CODE>-ORBEndpoint iiop://1.0@foo1:0</CODE>
<LI><CODE>-ORBEndpoint iiop://1.0@foo:0,1.1@bar,baz:3456</CODE>
<LI><CODE>-ORBEndpoint iiop://1.0@foo:0,1.1@bar,baz:3456/foobar=300</CODE></LI>
<LI><CODE>-ORBEndpoint iiop:///foobar=2</CODE> <FONT COLOR=RED>(notice three slashes "<CODE>///</CODE>")</FONT>
<LI><CODE>-ORBEndpoint iiop://:2020/foobar=12345</CODE>
<LI><CODE>-ORBEndpoint iiop://1.1@</CODE>
<LI><CODE>-ORBEndpoint iiop://1.1@:1234</CODE>
<LI><CODE>-ORBEndpoint iiop://1.1@,1.0@:1234,1.1@</CODE>
<LI><CODE>-ORBEndpoint iiop://1.1@foo:2020/portspan=30</CODE>
<LI><CODE>-ORBEndpoint iiop://foo:2020 -ORBEndpoint iiop://foo:10020 </CODE> </CODE>
</UL>
<hr>
<P>
<h2><A NAME="SHMIOP">SHMIOP Endpoints</A></h2>
TAO's SHMIOP pluggable protocol utilizes shared memory as its
underlying transport mechanism.
<P>
<h3>SHMIOP Endpoint Overview</h3>
<P>
SHMIOP endpoints in TAO have the similar form to IIOP endpoints:
<BLOCKQUOTE>
<P>
<CODE>
-ORBEndpoint shmiop://V.v@port1,...,W.w@port2
</CODE>
</BLOCKQUOTE>
<P>
Where "<CODE>V.v</CODE>" and "<CODE>W.w</CODE>" are the SHMIOP
protocol versions associated with the given address
(port). Currently supported versions are <CODE>1.0</CODE>,
<CODE>1.1</CODE>, and <CODE>1.2</CODE>.
<h3>SHMIOP Address Format</h3>
<P>
SHMIOP addresses are comprised of a port number that the server
should listen on.
<P>
Port numbers range from <CODE>0</CODE> (causes port to be chosen
by operating system) to <CODE>65335</CODE>. Port numbers less
than <CODE>1024</CODE> on UNIX systems are considered
privileged, and require super-user privileges to access them.
Also be aware that some ports may already be in use by other
applications.
<P>
To have TAO automatically choose an address for a given SHMIOP
endpoint, simply omit the address from the endpoint
specification as follows:
<BLOCKQUOTE>
<P>
<CODE>
-ORBEndpoint shmiop://
</CODE>
</BLOCKQUOTE>
<P>
In this case, an SHMIOP endpoint will be set up on a port chosen
by TAO.
<P>
<h3>SHMIOP Endpoint Examples</h3>
<P>
Here are some additional examples of SHMIOP endoints:
<UL>
<LI><CODE>-ORBEndpoint shmiop://1.0@0</CODE>
<LI><CODE>-ORBEndpoint shmiop://1.0@0,3456</CODE>
<LI><CODE>-ORBEndpoint shmiop://1.0@0,3456/foobar=300</CODE></LI>
<LI><CODE>-ORBEndpoint shmiop:///foobar=2</CODE> <FONT COLOR=RED>(notice three slashes "<CODE>///</CODE>")</FONT>
<LI><CODE>-ORBEndpoint shmiop://2020/foobar=12345</CODE>
<LI><CODE>-ORBEndpoint shmiop://1.1@</CODE>
<LI><CODE>-ORBEndpoint shmiop://1.1@1234</CODE>
<LI><CODE>-ORBEndpoint shmiop://1.1@,1.0@1234,1.1@</CODE>
</UL><p>
You <font color="red">must specify the hostname</font>, however,
when using SHMIOP with <a href="INS.html">Interoperable Naming
Service</a> as you would with IIOP. This is because SHMIOP uses
the hostname to determine the validity of an endpoint. That is,
it will not try to connect to a remote SHMIOP endpoint locally.
For examples:<p>
<BLOCKQUOTE>
<P>
<CODE>
-ORBInitRef MyService=corbaloc:shmiop:1.1@hostname:port/service_name
</CODE>
</BLOCKQUOTE>
<hr>
<P>
<h2><A NAME="UIOP">UIOP Endpoints</A></h2>
TAO's UIOP pluggable protocol utilizes local IPC (aka UNIX domain
sockets) as its underlying transport mechanism.
<P>
<h3>UIOP Endpoint Overview</h3>
<P>
UIOP endpoints in TAO have the form:
<BLOCKQUOTE>
<P>
<CODE>
-ORBEndpoint uiop://V.v@rendezvous_point1,...,W.w@rendezvous_point2
</CODE>
</BLOCKQUOTE>
<P>
Where "<CODE>V.v</CODE>" and "<CODE>W.w</CODE>" are the UIOP
protocol versions associated with the given rendezvous point.
Currently supported versions are <CODE>1.0</CODE> and
<CODE>1.1</CODE>.
<P>
Options are separated from the addresses by a vertical bar
'<CODE>|</CODE>'. For instance, if an IIOP endpoint should have
a property foobar of 50 associated with it, then the following
endpoint specification could be used
<BLOCKQUOTE>
<P>
<CODE>
-ORBEndpoint 'uiop://1.0@/tmp/my_rendezvous_point|foobar=50'
</CODE>
</BLOCKQUOTE>
<P>
Notice that the endpoint is quoted to prevent the shell from
interpreting the vertical bar '<CODE>|</CODE>' as the shell
"pipe" character.
<P>
<h3>UIOP Address Format</h3>
<P>
UIOP addresses are comprised of a rendezvous point the server
should listen on. The rendezvous point is generally the
<I>full</I> path to the desired UNIX domain socket filename.
Relative paths can be used, their use is discourages. The
maximum length of the rendezvous point is 108 characters, as
dictated by the POSIX.1g specification for local IPC rendezvous
points. TAO will truncate any rendezvous point name longer than
108 characters.
<P>
An UIOP endpoint with a rendezvous point with an <I>absolute</I>
path could be:
<BLOCKQUOTE>
<P>
<CODE>
-ORBEndpoint uiop:///tmp/foobar
</CODE>
</BLOCKQUOTE>
In this example, the optional protocol version and
endpoint-specific options have been omitted. The rendezvous point
<CODE>/tmp/foobar</CODE> will be created, in this case.
<P>
An UIOP endpoint with a rendezvous point with a <I>relative</I>
path could be:
<BLOCKQUOTE>
<P>
<CODE>-ORBEndpoint uiop://foobar</CODE> <FONT COLOR=RED>(DISCOURAGED)</FONT>
</BLOCKQUOTE>
<P>
Again, rendezvous points with relative paths are discouraged
since it is possible that other rendezvous points with the same
basename exist on a given system, giving rise to potential
ambiguities.
<P>
To make TAO choose a rendezvous point automatically, simply omit
the rendezvous point from the endpoint specification as follows:
<BLOCKQUOTE>
<P>
<CODE>
-ORBEndpoint uiop://
</CODE>
</BLOCKQUOTE>
<P>
This will cause an endpoint to be setup in system temporary
directory. Rendezvous points chosen by TAO are prepended with
"<CODE>TAO</CODE>." TAO will always choose rendezvous points
with absolute paths.
<P>
<h3>UIOP Endpoint Examples</h3>
<P>
Here are some additional examples of UIOP endoints:
<UL>
<LI><CODE>-ORBEndpoint uiop://1.0@/tmp/foo1</CODE>
<LI><CODE>-ORBEndpoint uiop://1.0@/tmp/foo,1.1@/home/bar/baz</CODE>
<LI><CODE>-ORBEndpoint 'uiop://1.1@/tmp/bar|foobar=300'</CODE></LI>
<LI><CODE>-ORBEndpoint 'uiop://|foobar=2'</CODE>
<LI><CODE>-ORBEndpoint uiop://1.1@</CODE>
<LI><CODE>-ORBEndpoint uiop://1.1@,1.0@/tmp/foo,1.1@</CODE>
</UL>
<hr>
<P>
<h2><A NAME="DIOP">DIOP Endpoints</A></h2>
TAO's DIOP pluggable protocol utilizes UDP sockets instead TCP
sockets (IIOP) as its underlying transport mechanism. This
protocol supports unreliable datagram communication, which has
certain <A
HREF="../examples/PluggableUDP/DIOP/README">limitations</A>.
<P>
<h3>DIOP Endpoint Overview</h3>
<P>
Since DIOP endpoints in TAO have the same form as
<A HREF="#IIOP">IIOP</A> endpoints, a detailed description is
therefore omitted. DIOP has no support for endpoint-specific
options.
<P>
We recommend explicitly setting port numbers for endpoints
since TAO does not support automatic selection of free endpoints for
UDP sockets. Instead, the ORB will try to use the same default port
number in every case.
<h3>DIOP Endpoint Examples</h3>
<P>
Here are some additional examples of DIOP endoints:
<UL>
<LI><CODE>-ORBEndpoint diop://1.0@foo1:2345</CODE>
<LI><CODE>-ORBEndpoint diop://1.1@:1234</CODE>
</UL>
<hr>
<P>
<h2><A NAME="SSLIOP">SSLIOP Endpoints</A></h2>
TAO's SSLIOP pluggable protocol facilitates CORBA request
invocation over TLS (formerly known as SSL), and is a drop-in
replacement for the <A HREF="#IIOP">IIOP</A> pluggable protocol.
<P>
The SSLIOP pluggable protocol will actually create two
endpoints: one which is meant to accept plain IIOP requests, and
another meant to accept SSLIOP requests. As security measure,
IIOP requests will be rejected by default unless the server is
configured to accept them (See the
<A HREF="Security/SSLIOP-USAGE.html">SSLIOP documentation</A> for
additional details).
<P>
<h3>SSLIOP Endpoint Format</h3>
<P>
SSLIOP endpoints basically have the same format as
<A HREF="#IIOP">IIOP</A> endpoints. The only difference between
the two is that SSLIOP endpoints accept an additional option
that allows one to select the port which will accept TLS
requests. To make a server open a SSLIOP endpoint on a specific
port use the <CODE>ssl_port</CODE> endpoint option:
<UL>
<LI><CODE>-ORBEndpoint iiop://foo:1234/ssl_port=1235</CODE>
</UL>
In this case, an <A HREF="#IIOP">IIOP</A> endpoint would be opened
on port <CODE>1234</CODE> and a SSLIOP endpoint on port
<CODE>1235</CODE>. If no <CODE>ssl_port</CODE> option is
supplied, a port will automatically be chosen in the same way a
port is automatically chosen for an <A HREF="#IIOP">IIOP</A>
endpoint.
<P>
Note that the protocol label in the above example is
<CODE>iiop</CODE>, <EM>not</EM> <code>ssliop</code>.
Regardless, a SSLIOP endpoint will be opened if the SSLIOP
pluggable protocol was loaded. Furthermore, the
<CODE>ssl_port</CODE> endpoint option is only valid if the
SSLIOP pluggable protocol is used.
<hr>
<address><a href="mailto:ossama@dre.vanderbilt.edu">Ossama Othman</a></address>
<!-- Created: Thu May 18 08:37:25 PDT 2000 -->
<!-- hhmts start -->
Last modified: Fri Jun 11 16:51:59 PDT 2004
<!-- hhmts end -->
</body>
</html>
|