Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
en:docs:tk:som:interg [2024/12/24 01:56] – prokushev | en:docs:tk:som:interg [2024/12/24 16:37] (current) – prokushev | ||
---|---|---|---|
Line 169: | Line 169: | ||
echo_client = ORB_string_to_object(SOMD_ORBObject, | echo_client = ORB_string_to_object(SOMD_ORBObject, | ||
- | somPrintf(" | ||
abort_if_exception(& | abort_if_exception(& | ||
Line 206: | Line 205: | ||
</ | </ | ||
- | As you see, here just downgraded code to CORBA 1.1 C Language mapping from CORBA 2.x C Language mapping. ORB initialization and finalization replaced by DSOM initialization and finalization. And, this is matter, EchoNew() call added to create Echo class to make it known to DSOM. Now you can compile it and all mostly ready. | + | As you see, here just downgraded code to CORBA 1.1 C Language mapping from CORBA 2.x C Language mapping. ORB initialization and finalization replaced by DSOM initialization and finalization. And, this is matter, EchoNew() call added to create Echo class to make it known to DSOM. Also add SOMSTAR to object variables. Now you can compile it and all mostly ready. |
Now you have SOM client with stub class implementation and interface registered in interface repository. You are ready now. | Now you have SOM client with stub class implementation and interface registered in interface repository. You are ready now. | ||
- | ====== ORBit2 ====== | + | ====== ORBit2 |
somFree was tested with the latest available ORBit2 implementation (version 2.14.19). ORBit2 shipped as packages on various operational systems, including various Linux distributions, | somFree was tested with the latest available ORBit2 implementation (version 2.14.19). ORBit2 shipped as packages on various operational systems, including various Linux distributions, | ||
Line 268: | Line 267: | ||
Now your server is ready. Execute echo-server and you will have console with waiting echo. To make client know about Echo server copy generated echo.ior to client directory. | Now your server is ready. Execute echo-server and you will have console with waiting echo. To make client know about Echo server copy generated echo.ior to client directory. | ||
+ | |||
+ | ====== omniORB 4.3.2 ====== | ||
+ | |||
+ | Another ORB for testing is a omniORB 4.3.2. Unlike ORBit2 it still maintained and new versions published at 2024 year. So, it was also chosen for testing. It comes in source code so you need to build it. Build process described well, works with cygwin and VS2022. Only required fix is in mk\python.mk is to set line as bellow: | ||
+ | |||
+ | < | ||
+ | PYVERSION := $(shell $(PYTHON) -c ' | ||
+ | </ | ||
+ | |||
+ | We have tested it with Python 2.7 but newer versions also must work good. omniORB also contains echo example, but slightly differ. echoString method returns string back. So, echo.idl was replaced to one from ORBit2 and server skeleton was changed (add sources here). | ||
+ | |||
+ | Same somFree client was executed and all works just fine. IOR file not stored in echo.ior but output to console. So IOR was replaced by this one. somFree client sucessfully connected and works as expected. omniORB is a C++ ORB. | ||
====== Executing somFree client ====== | ====== Executing somFree client ====== |