public NetworkingModule Build() { if (IdProvider == null) { IdProvider = new IdProvider(); } if (NetworkingEntityFactory == null) { NetworkingEntityFactory = new NetworkingEntityFactory(); } if (TokenProvider == null) { TokenProvider = new ClientTokenProvider(); } if (NetworkingClientFactory == null) { NetworkingClientFactory = new NetworkingClientFactory(); } if (AuthenticationProviderFactory == null) { AuthenticationProviderFactory = new AuthenticationProviderFactory(); } if (StreamingHandlerFactory == null) { StreamingHandlerFactory = new ClientEntityStreamingHandlerFactory(); } return(new NetworkingModule(Ip, Port, IdProvider, NetworkingEntityFactory, TokenProvider, NetworkingClientFactory, AuthenticationProviderFactory, StreamingHandlerFactory)); }
public NetworkingModule(string ip, int port, IIdProvider <ulong> idProvider, INetworkingEntityFactory entityFactory, IIdProvider <string> tokenProvider, INetworkingClientFactory clientFactory, IAuthenticationProviderFactory authenticationProviderFactory, IStreamingHandlerFactory streamingHandlerFactory) { IdProvider = idProvider; TokenProvider = tokenProvider; EntityPool = new NetworkingEntityPool(idProvider, entityFactory); ClientPool = new NetworkingClientPool(tokenProvider, clientFactory); Streamer = new EntityStreamer(); Server = new Server(ip, port, ClientPool, authenticationProviderFactory, Streamer, streamingHandlerFactory); }
public Server(string ip, int port, INetworkingClientPool networkingClientPool, IAuthenticationProviderFactory authenticationProviderFactory, IEntityStreamer streamer, IStreamingHandlerFactory factory) { var webSocket = new WebSocket(); var authenticationProvider = authenticationProviderFactory.Create(ip, port, webSocket); var streamingHandler = factory.Create(networkingClientPool, authenticationProvider); StreamingHandler = streamingHandler; webSocket.OnMessageReceived = streamingHandler.OnMessage; webSocket.OnError = authenticationProvider.OnError; webSocket.OnConnectionEstablished = authenticationProvider.OnConnectionEstablished; webSocket.OnConnectionBroken = authenticationProvider.OnConnectionBroken; webSocket.StartListen(port); }