Esempio n. 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected override void SendAndReceive(object sender, DoWorkEventArgs e)
        {
            int length, length2;

            byte[]            buffer;
            string            fileName;
            FileStream        file;
            RequestPacket     request;
            ResponsePacket    response;
            RequestPacketBody requestPacketBody;

            // ローカルファイルを読み取り。
            length  = (int)new FileInfo(filePath).Length;
            buffer  = new byte[length];
            file    = new FileStream(filePath, FileMode.Open);
            length2 = file.Read(buffer, 0, length);
            file.Close();

            if (length2 < length)
            {
                throw
                    new Exception("Windowsファイルを正しく読めませんでした。");
            }

            fileName = new FileInfo(filePath).Name;

            // リクエスト作成。
            requestPacketBody = new RequestPacketBody();
            requestPacketBody.Add(
                new StringBinaryBlock(
                    new RemoteFileName(fileName).ToString()));
            requestPacketBody.Add(new BinaryBlock(buffer));

            request =
                new RequestPacket(RequestCode.SendFile, requestPacketBody);

            // リクエスト送信とその応答受信。
            response = SendAndReceive(request);

            e.Result = response.body[0].GetAsBool();
        }
Esempio n. 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected override void SendAndReceive(object sender, DoWorkEventArgs e)
        {
            byte[]            buffer;
            RequestPacket     request;
            ResponsePacket    response;
            RequestPacketBody requestPacketBody;

            // リクエスト作成。
            requestPacketBody = new RequestPacketBody();
            requestPacketBody.Add(new StringBinaryBlock(fileName));
            request =
                new RequestPacket(RequestCode.ReceiveFile, requestPacketBody);

            // リクエスト送信とその応答受信。
            response = SendAndReceive(request);

            // ファイル内容取得。
            buffer = response.body[0].data;

            e.Result = buffer;
        }
Esempio n. 3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="code"></param>
 /// <param name="body"></param>
 public RequestPacket(RequestCode code, RequestPacketBody body)
 {
     this.header = new RequestPacketHeader(code, body);
     this.body   = body;
 }
Esempio n. 4
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="code"></param>
 public RequestPacket(RequestCode code)
 {
     this.header = new RequestPacketHeader(code);
     this.body   = null;
 }
Esempio n. 5
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="code"></param>
 /// <param name="body"></param>
 public RequestPacketHeader(RequestCode code, RequestPacketBody body)
     : base(code, body.Length)
 {
 }