private void OnDataReceived(object sender, SocketReceivedDataEventArgs args) { var data = args.Data; // weird expression format in order to get the sign extension correct ulong timestamp = ((ulong)data[40] << 24 | (ulong)data[41] << 16 | (ulong)data[42] << 8 | (ulong)data[43]); DateTime result = new DateTime(1900, 1, 1, 0, 0, 0); result = result.AddTicks((long)timestamp * TimeSpan.TicksPerSecond); _lastTimeRetrieved = result; _responseReceived.Set(); }
internal bool OnResponseReceived(SocketReceivedDataEventArgs args) { // We got an unparsable reply, so ignore subsequent data packets if (_failed) { return(true); } if (_response == null) { _response = new HttpResponse(); } bool isComplete = false; try { isComplete = _response.ProcessResponse(args.Data); } catch (Exception) { _response = null; _failed = true; isComplete = true; } if (isComplete) { if (this.ResponseReceived != null) { this.ResponseReceived(this, _response); } this.Reset(); } return(isComplete); }
private void SocketOnDataReceived(object sender, SocketReceivedDataEventArgs args) { if (_activeRequest == null) { return; } ISocket socket = (ISocket)sender; if (_activeRequest.OnResponseReceived(args)) { _lastResponse = _activeRequest.Response; _activeRequest = null; // If this was an async send, we saved a ref to the socket. Clean that up now. if (_socket != null && _socket == socket) { _socket.SocketClosed -= SocketOnSocketClosed; _socket.DataReceived -= SocketOnDataReceived; _socket.Dispose(); _socket = null; } _requestCompletedEvent.Set(); } }
private static void socket_DataReceived(object sender, SocketReceivedDataEventArgs args) { var socket = (WifiSocket)sender; if (args.Data != null) { Debug.Print("Data Received : " + args.Data.Length); if (args.Data.Length > 0) { var body = StringUtilities.ConvertToString(args.Data); //TODO: Parse the request - here we're just going to reply with a 404 socket.Send("HTTP/1.1 404 NOT FOUND\r\nConnection: close\r\nContent-Length: 0\r\n\r\n"); } } }
private void SocketOnDataReceived(object sender, SocketReceivedDataEventArgs args) { if (_activeRequest == null) return; ISocket socket = (ISocket)sender; if (_activeRequest.OnResponseReceived(args)) { _lastResponse = _activeRequest.Response; _activeRequest = null; // If this was an async send, we saved a ref to the socket. Clean that up now. if (_socket!=null && _socket == socket) { _socket.SocketClosed -= SocketOnSocketClosed; _socket.DataReceived -= SocketOnDataReceived; _socket.Dispose(); _socket = null; } _requestCompletedEvent.Set(); } }
internal bool OnResponseReceived(SocketReceivedDataEventArgs args) { // We got an unparsable reply, so ignore subsequent data packets if (_failed) return true; if (_response==null) _response = new HttpResponse(); bool isComplete = false; try { isComplete = _response.ProcessResponse(args.Data); } catch (Exception) { _response = null; _failed = true; isComplete = true; } if (isComplete) { if (this.ResponseReceived != null) this.ResponseReceived(this, _response); this.Reset(); } return isComplete; }