/// <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; }
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; }
/// <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 }; }
public ChatServer() { var messageFactory = new BasicMessageFactory(); var configuration = new MessagingServerConfiguration(messageFactory); _server = new MessagingServer(this, configuration); }