There are a lot of communication schemes in. NET, from. NET REMOTING,MSMQ,WEBSERVICE,WSE,WCF and so on, they all have a feature, easy to use, but can not cross-language heterogeneous, if you want to use Java Development Server, client in C # development, or other languages such as c+ +, python,php, Ruby, Objective-c, and so on, then. NET provides solutions that are no longer valid. Now, the grand launch of the cross-platform heterogeneous solution ice. ICE official Website: http://www.zeroc.com/ice.html
Description: The Internet Communications Engine (Ice) is a modern object-oriented toolkit, enables you to build distributed APPL Ications with minimal effort. Ice allows you-to-focus your efforts on your application logic, and it takes care of all interactions with low-level netwo RK programming interfaces. With Ice, there are no need to worry about details such as opening network connections, serializing and deserializing data For network transmission, or retrying failed connection attempts (to name but a few of dozens of such low-level details).
The Chinese information about ice is very scarce, in the actual development process I am all based on the documents provided by the official website to do processing, official website document Url:http://doc.zeroc.com/display/doc/home
In addition, there are some other reviews on ice performance: Http://zeroc.com/articles/IcePerformanceWhitePaper.pdf
The data above shows that ice has a slightly higher performance than WCF, of course, in an order of magnitude.
Development environment Building: Before writing the first simple program, you first need to download the ice installation files: http://www.zeroc.com/download.html and ice plugin: http://www.zeroc.com/ Vsaddin.html, what's the use of this, listen to me carefully.
Ice Communication Framework Fundamentals: If you want to design a communication framework that supports multiple languages, how do you get it? ICE's idea is to create a data structure specification and interface specification in an intermediate language, and then compile the plug-in with an IDE to compile the intermediate language data structure specification and interface specification into the current language, such as the CS file for C #, and then You can implement a distributed program by implementing the interface of the intermediate language definition number on the client and the server, and then doing some other processing. This idea is really nice and deserves our reference.
There are some ice Dll,ice demos in the installation file, and there are some other things.
The ice plugin is the IDE compiler plugin I said above.
A friend familiar with WCF knows that WCF defines data contract and service Contract,ice when writing distributed programs, except for the intermediate language definitions, plus compiler compilation for the language we understand.
As for why to use intermediate language, it is very simple, each language supports the name of the data structure is different, such as Java map and. NET Dictionnary, and so on, the intermediate language plays a conversion effect. The grammar of the intermediate language is similar to that of C, or C + +, which is difficult to use.
Okay, so here's the next one that will start our Hello World program and write a formal communication program to use.