예제 #1
0
        public void Disconnect()
        {
            if (socket != null)
            {
                socket.Dispose();
                socket = null;
            }

            if (Disconnected != null)
                Disconnected(this);
        }
예제 #2
0
        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);
            }
        }
예제 #3
0
 private void TriggerClientConnectedEvent(TcpSocket newConnectedClient)
 {
     if (ClientConnected != null)
         ClientConnected(newConnectedClient);
 }
예제 #4
0
 public TcpNetworkingClient(IPEndPoint serverAddress)
 {
     this.serverAddress = serverAddress;
     socket = new TcpSocket();
     socket.DataReceived += OnDataReceived;
 }