Skip to content
George Michaelides edited this page Feb 3, 2015 · 19 revisions

Gem.Network is a standalone library for creating client - server applications in .NET.

Using the fluent API or annotations you can create server - client events with ease.

Package Types

    enum IncomingMessageTypes
    {
         Hail,

         ConnectionApproval,

         NewClient,
            
         Disconnect,

         Discovery,

         Data
     }

Client Setup

    private void Setup()
    {
        var client = new Client { ServerName = "MyServer" , 
                                  IP = 127.0.0.1,
                                  Port = 14242,
                                  DebugListener = Console.Write };
        client.RunAsync();

        var messageHandler = NetworkConfig
                            .ForTag("Chat")
                            .AndType(MessageTypes.Data)
                            .CreateEvent(typeof(string),typeof(string))
                            .HandleWith(this, "Say");
    }

    public void Say(string name, string message)
    {
        Console.WriteLine(String.Format("{0} : {1}",name,message);

        messageHandler.Send(name,message).
    }

Server Setup

        var server = new Server { Name = "MyServer", 
                                  Port = 14242,
                                  DebugListener = Console.Write };

        server.RunAsync();

        Thread.Sleep(1000);

        server.Stop();     
Clone this wiki locally