Ice helps you build networked applications with minimal effort. By taking care of all interactions with low-level network programming interfaces, Ice allows you to focus your efforts on your application logic. You don't need to worry about details such as opening network connections, encoding and decoding data for network transmission, or retrying failed connection attempts (to name just a few of dozens of such low-level details).
Downloads | Examples | Documentation
Remote procedure calls (RPCs) are at the heart of the Ice framework.
You create RPCs with an easy 2-step process:
For example:
// The contract specified using Slice.
interface Hello
{
// The caller says "hello".
void sayHello();
}
# Compile the Slice contract with the Slice compiler for C++ (slice2cpp)
slice2cpp Hello.ice
// C++ client
// Call operation sayHello on a remote object that implements
// interface Hello using the generated proxy class (HelloPrx).
helloPrx->sayHello();
// C++ server
// Implements the Hello interface by deriving from the generated
// Hello abstract base class.
class Printer final : public Hello
{
public:
string sayHello(const Ice::Current&) final
{
cout << "Hello World!" << endl;
}
};
You can use any supported programming language for your client and server. For example, a Python client could call a C++ server; neither side knows the programming language used by the other side.
The Ice framework provides everything you need to build networked applications:
The Ice API is defined almost entirely using Slice; as a result, it is essentially the same in all programming languages.
C++ | C# | Java | JavaScript/TypeScript | MATLAB | PHP | Python | Ruby | Swift
Ice is a single-copyright project: all the source code in this ice repository is Copyright © ZeroC, Inc., with very few exceptions.
As copyright owner, ZeroC can license Ice under different license terms, and offers the following licenses for Ice:
If you license Ice under GPLv2, there is no license fee or signed license agreement: you just need to comply with the GPLv2 terms and conditions. ZeroC also grants a few exceptions to the GPLv2 terms and conditions.
If you purchase a commercial or closed-source license for Ice, you must comply with the terms and conditions listed in the associated license agreement; the GPLv2 terms and conditions do not apply.
The Ice software itself remains the same: the only difference between an open-source Ice and a commercial Ice are the license terms.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。