public void Disconnect() { if (socket != null) { socket.Dispose(); socket = null; } if (Disconnected != null) Disconnected(this); }
private void AcceptCallback(IAsyncResult asyncResult) { lock (this) { if (!IsListening) return; Socket clientHandle = nativeSocket.EndAccept(asyncResult); var newConnectedClient = new TcpSocket(clientHandle); TriggerClientConnectedEvent(newConnectedClient); newConnectedClient.WaitForData(); nativeSocket.BeginAccept(AcceptCallback, null); } }
private void TriggerClientConnectedEvent(TcpSocket newConnectedClient) { if (ClientConnected != null) ClientConnected(newConnectedClient); }
public TcpNetworkingClient(IPEndPoint serverAddress) { this.serverAddress = serverAddress; socket = new TcpSocket(); socket.DataReceived += OnDataReceived; }