public NetworkConnection(int clientId, NetworkMessageReceiver networkMessageReceiver, NetworkMessageWriter networkMessageWriter) { ClientId = clientId; _networkMessageReceiver = networkMessageReceiver; _networkMessageWriter = networkMessageWriter; _networkMessageReceiver.MessageRecieved += ElevateMessageEvent; _isReceiving = true; _receiverThread = new Thread(GetMessages); _receiverThread.Start(); }
private NetworkConnection CreateNetworkClient(Socket handler) { var clientId = NEXT_CLIENT_ID++; NetworkMessageReceiver networkMessageReceiver = new NetworkMessageReceiver(clientId, handler, 1024); NetworkMessageWriter networkMessageWriter = new NetworkMessageWriter(handler); NetworkConnection networkConnection = new NetworkConnection(clientId, networkMessageReceiver, networkMessageWriter); networkConnection.MessageRecieved += RebroadcastMessage; return(networkConnection); }
public void Connect() { try { IPAddress ipAddress = IPAddress.Parse(_ipString); IPEndPoint ipEndPoint = new IPEndPoint(ipAddress, NetworkConstants.SERVER_PORT); Socket clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); _networkWriter = new NetworkMessageWriter(clientSocket); clientSocket.BeginConnect(ipEndPoint, ClientConnectCallback, clientSocket); connectionAsyncLock.WaitOne(); } catch (Exception e) { throw new NetworkingException(e.Message); } }
public void Close() { Console.WriteLine("Shutting down client connection..."); _networkWriter?.Dispose(); _networkWriter = null; }