private async Task <string> WriteTask(string socketKey, byte[] data) { ISocketAdapter socket = socketStorage.Get(socketKey); PluginResult result = new PluginResult(); await Task.Run(async() => { try { await socket.Write(data); result.Result = PluginResult.Status.OK; } catch (Exception ex) { result.Result = PluginResult.Status.IO_EXCEPTION; result.Message = ex.Message; } }); JsonObject jsonObject = new JsonObject(); jsonObject.SetNamedValue("Result", JsonValue.CreateNumberValue((int)result.Result)); if (result.Message != null) { jsonObject.SetNamedValue("Message", JsonValue.CreateStringValue(result.Message)); } return(jsonObject.ToString()); }
public void write(string parameters) { string socketKey = JsonHelper.Deserialize <string[]>(parameters)[0]; string dataJsonArray = JsonHelper.Deserialize <string[]>(parameters)[1]; byte[] data = JsonHelper.Deserialize <byte[]>(dataJsonArray); ISocketAdapter socket = this.socketStorage.Get(socketKey); try { socket.Write(data).Wait(); this.DispatchCommandResult(new PluginResult(PluginResult.Status.OK)); } catch (SocketException ex) { this.DispatchCommandResult(new PluginResult(PluginResult.Status.IO_EXCEPTION, ex.Message)); } }