コード例 #1
0
        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());
        }
コード例 #2
0
ファイル: SocketPlugin.cs プロジェクト: Aeon1/turnomaticoapp
        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));
            }
        }