using Ice; using System; public class HelloWorld { public static void Main(string[] args) { int status = 0; Ice.Communicator communicator = null; try { communicator = Ice.Util.initialize(args); Ice.ObjectPrx obj = communicator.stringToProxy("hello:default -h localhost -p 10000"); Demo.HelloPrx hello = Demo.HelloPrxHelper.checkedCast(obj); if (hello == null) throw new ApplicationException("Invalid proxy"); hello.sayHello(); } catch (System.Exception ex) { Console.Error.WriteLine(ex); status = 1; } finally { if (communicator != null) communicator.destroy(); } System.Environment.Exit(status); } }
using Ice; using System; public class ChatServer { public static void Main(string[] args) { int status = 0; Ice.Communicator communicator = null; try { communicator = Ice.Util.initialize(args); Ice.ObjectAdapter adapter = communicator.createObjectAdapterWithEndpoints("ChatServerAdapter", "default -h localhost -p 10000"); ChatRoomImpl chatRoom = new ChatRoomImpl(); Ice.Object chatRoomObject = adapter.add(chatRoom, Ice.Util.stringToIdentity("chatroom")); adapter.activate(); Console.WriteLine("Server started."); communicator.waitForShutdown(); } catch (System.Exception ex) { Console.Error.WriteLine(ex); status = 1; } finally { if (communicator != null) communicator.destroy(); } System.Environment.Exit(status); } } public class ChatRoomImpl : ChatRoomDisp_ { public override void join(ChatUserPrx user, Current current__) { Console.WriteLine("User " + user.getUsername() + " joined the chat room."); } public override void leave(ChatUserPrx user, Current current__) { Console.WriteLine("User " + user.getUsername() + " left the chat room."); } public override void sendMessage(ChatUserPrx from, string message, Current current__) { Console.WriteLine(from.getUsername() + ": " + message); } } public class ChatUserImpl : ChatUserDisp_ { private string username; public ChatUserImpl(string username) { this.username = username; } public override string getUsername(Current current__) { return username; } public override void receiveMessage(ChatUserPrx from, string message, Current current__) { Console.WriteLine(from.getUsername() + ": " + message); } }This example is a basic chat system built using Ice. It includes a server that creates a chat room object and listens for incoming connections, as well as a client object that can connect to the chat room, send messages, and receive messages from other users. Package library: Ice_Core & Ice_Win32VS2017.