protected void RemoteReceiveCallback(IAsyncResult ar) { try { int received = RemoteSocket.EndReceive(ar); if (received == 0) { Dispose(); return; } var args = new ClientReceiveEventArgs(RemoteBuffer, received); OnFromClient(args); if (args.Cancel) { RemoteSocket.BeginReceive( RemoteBuffer, 0, RemoteBuffer.Length, SocketFlags.None, RemoteReceiveCallback, null); return; } LocalSocket.BeginSend(RemoteBuffer, 0, RemoteBuffer.Length, SocketFlags.None, LocalSendCallback, null); } catch { Dispose(); } }
protected virtual void OnFromServer(ClientReceiveEventArgs e) { EventHandler <ClientReceiveEventArgs> handler = ReceiveFromServer; if (handler != null) { handler(this, e); } }
protected void RemoteReceiveCallback(IAsyncResult ar) { try { int received = RemoteSocket.EndReceive(ar); if(received == 0) { Dispose(); return; } var args = new ClientReceiveEventArgs(RemoteBuffer, received); OnFromClient(args); if(args.Cancel) { RemoteSocket.BeginReceive( RemoteBuffer, 0, RemoteBuffer.Length, SocketFlags.None, RemoteReceiveCallback, null); return; } LocalSocket.BeginSend(RemoteBuffer, 0, RemoteBuffer.Length, SocketFlags.None, LocalSendCallback, null); } catch { Dispose(); } }
protected virtual void OnFromServer(ClientReceiveEventArgs e) { EventHandler<ClientReceiveEventArgs> handler = ReceiveFromServer; if(handler != null) { handler(this, e); } }