/// <summary>
 /// Initializes a new instance of the <see cref="MessagingServer" /> class.
 /// </summary>
 /// <param name="clientFactory">Used to create the class that you use to handle all client communication.</param>
 /// <param name="configuration">The configuration.</param>
 public MessagingServer(IServiceFactory clientFactory, MessagingServerConfiguration configuration)
     : base(clientFactory, configuration)
 {
     if (clientFactory == null) throw new ArgumentNullException("clientFactory");
     if (configuration == null) throw new ArgumentNullException("configuration");
     _formatterFactory = configuration.MessageFormatterFactory;
 }
Ejemplo n.º 2
0
        private static void Main(string[] args)
        {
            // factory that produces our service classes which
            // will handle all incoming messages
            var serviceFactory = new MyServiceFactory();

            // factory used to create the classes that will
            // serialize and build our messages
            var messageFactory = new BasicMessageFactory();

            // server configuration.
            // you can limit the number of clients etc.
            var configuration = new MessagingServerConfiguration(messageFactory);

            // actual server
            var server = new MessagingServer(serviceFactory, configuration);
            server.Start(new IPEndPoint(IPAddress.Any, 7652));

            var client = new MessagingClient(messageFactory);
            client.Connect(new IPEndPoint(IPAddress.Loopback, 7652));

            // Look here! We receive objects!
            client.Received += (sender, eventArgs) => Console.WriteLine("We received: " + eventArgs.Message);

            // And here we are sending one.
            client.Send(new OpenDoor {Id = Guid.NewGuid().ToString()});

            //to prevent the server from shutting down
            Console.ReadLine();
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="MessagingServer" /> class.
 /// </summary>
 /// <param name="clientFactory">Used to create the class that you use to handle all client communication.</param>
 /// <param name="configuration">The configuration.</param>
 public MessagingServer(IServiceFactory clientFactory, MessagingServerConfiguration configuration)
     : base(clientFactory, configuration)
 {
     if (clientFactory == null)
     {
         throw new ArgumentNullException("clientFactory");
     }
     if (configuration == null)
     {
         throw new ArgumentNullException("configuration");
     }
     this.formatterFactory = configuration.MessageFormatterFactory;
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="HttpServer" /> class.
 /// </summary>
 /// <param name="moduleManager">The modules are used to process the HTTP requests. You need to specify at least one.</param>
 /// <param name="configuration">You can override the configuration to your likings. We suggest that you using the <see cref="HttpMessageFactory" /> to produce the messages.</param>
 /// <exception cref="System.ArgumentNullException">moduleManager/configuration</exception>
 public HttpServer(IModuleManager moduleManager, MessagingServerConfiguration configuration)
 {
     if (moduleManager == null) throw new ArgumentNullException("moduleManager");
     if (configuration == null) throw new ArgumentNullException("configuration");
     _moduleManager = moduleManager;
     _server = new MessagingServer(this, configuration);
     _bufferSliceStack = new BufferSliceStack(100, 65535);
     ApplicationInfo = new MemoryItemStorage();
     _workerConfiguration = new WorkerConfiguration
         {
             Application = ApplicationInfo,
             BufferSliceStack = _bufferSliceStack,
             ModuleManager = _moduleManager
         };
 }
Ejemplo n.º 5
0
 public ChatServer()
 {
     var messageFactory = new BasicMessageFactory();
     var configuration = new MessagingServerConfiguration(messageFactory);
     _server = new MessagingServer(this, configuration);
 }