Beispiel #1
0
        // Menu methods for ListView ================================================================

        private void MenuItem_CmdSend_Click(object sender, RoutedEventArgs e)
        {
            SockUnit sock = treeSock.SelectedItem as SockUnit;

            if (sock == null || sock.State != SockState.Opened)
            {
                return;
            }

            // 发送所有选中的命令,目前只支持发送第一条命令...
            foreach (CmdUnit item in lstViewCmd.SelectedItems)
            {
                // init data which is sended out to remote ep
                byte[] raw_data = SockConvert.ParseCmdstrToBytes(item.Cmd, '#');
                string str_data = Convert.ToBase64String(raw_data);
                //if (item.Encrypt)
                //    raw_data = Encoding.UTF8.GetBytes(Convert.ToBase64String(EncryptSym.AESEncrypt(raw_data)));

                // add internal header just for translating in SockMaster
                IPEndPoint ep  = sock.Type != SockType.accept ? sock.Lep : sock.Rep;
                object     req = new {
                    id     = "service.sesssend",
                    sessid = sock.SESSID,
                    data   = str_data,
                };
                core.AddServiceRequest(ServiceRequest.Parse(JsonConvert.SerializeObject(req)));
                break;
            }
        }
Beispiel #2
0
        // default service

        private void DefaultService(ServiceRequest request, ref ServiceResponse response)
        {
            string log = DateTime.Now + " (" + request.sessdata["rep"]
                         + " => " + request.sessdata["lep"] + ")" + Environment.NewLine;

            if (request is BinaryRequest)
            {
                log += SockConvert.ParseBytesToString(Encoding.UTF8.GetBytes((string)request.data));
            }
            else if (request is JsonRequest)
            {
                log += (string)request.data;
            }
            else if (request is UnknownRequest)
            {
                log += SockConvert.ParseBytesToString((byte[])request.data);
            }

            log += Environment.NewLine + Environment.NewLine;
            uidata.Logger(log);

            response = null;
            //throw new Exception("bad request");
        }