public void AcceptCallback(IAsyncResult ar) { try { // Signal the main thread to continue. allDone.Set(); // Get the socket that handles the client request. Socket listener = (Socket)ar.AsyncState; Socket handler = listener.EndAccept(ar); //get requestType byte[] lenghtBuffer = ReadBytes(4, handler); RequestType requestType = (RequestType)BitConverter.ToInt32(lenghtBuffer, 0); if (requestType == RequestType.GetDataRange) { //deserialize string to request object RangeRequest request = JsonConvert.DeserializeObject <RangeRequest>(ReadString(handler)); var listRes = Database.GetTempRange(request.start, request.end); view.AppendLog($"[+] TEMPERATURE RANGE REQUEST [+]\n Start: {request.start.ToShortDateString()} {request.start.ToLongTimeString()} \n End: {request.end.ToShortDateString()} {request.start.ToLongTimeString()}\n Sent {listRes.Count} Temperaturepoints back ! \n"); SendString(handler, JsonConvert.SerializeObject(listRes)); } else { //deserialize string to request object Request request = JsonConvert.DeserializeObject <Request>(ReadString(handler)); } } catch (Exception ex) { } }
private void port_DataReceived(object sender, SerialDataReceivedEventArgs e) { //read string with escape delimiter string readString = ReadStringWithDelimeter(); try { double number = double.Parse(readString, System.Globalization.NumberStyles.AllowDecimalPoint, System.Globalization.NumberFormatInfo.InvariantInfo); Database.SaveTemp(new Temperatur(number, DateTime.Now)); view.AppendLog($"GOT NUMBER FROM SERIAL: {number}"); } catch (Exception) { } }
public void ClientDataReceived(object receivedData, TypeCode type, string requestType) { var value = Convert.ChangeType(receivedData, type); view.AppendLog("[+]Received data[+] \nValue: " + value.ToString() + "\nType: " + type.ToString() + "\nAdditional Requestinfo: " + requestType + "\n"); }