Beispiel #1
0
        private void Transfer(ObexTransferObject obj)
        {
            ObexWebResponse rsp = null;
            ObexWebRequest  req;

            try
            {
                Uri uri = new Uri("obex://" + obj.Target.address.ToString() + "/" + obj.Filename);
                req         = new ObexWebRequest(uri);
                req.Timeout = 15000;
                using (Stream content = req.GetRequestStream())
                {
                    content.Write(obj.Data, 0, obj.Data.Length);
                    content.Flush();
                    req.ContentLength = obj.Data.Length;
                    req.ContentType   = obj.MimeType;
                }
                rsp = (req.GetResponse() as ObexWebResponse);
            }
            catch (Exception e)
            {
                General.WriteLogLine(e.GetType().Name + " while transferring '" + obj.Filename + "' data to " + obj.Target.address.ToString() + ": " + e.Message);
            }

            if ((rsp != null) && (rsp.StatusCode != ObexStatusCode.OK))
            {
                General.WriteLogLine("Received response code: " + rsp.StatusCode + " while transferring '" + obj.Filename + "' data to " + obj.Target.address.ToString());
            }

            if (rsp != null)
            {
                rsp.Close();
            }
        }
Beispiel #2
0
        private void btnBeam_Click(object sender, System.EventArgs e)
        {
            if (cbDevices.SelectedIndex > -1)
            {
                IrDADeviceInfo idi = (IrDADeviceInfo)cbDevices.SelectedItem;

                if (ofdFileToBeam.ShowDialog() == DialogResult.OK)
                {
                    Cursor.Current = Cursors.WaitCursor;
                    System.Uri     uri           = new Uri("obex://" + idi.DeviceAddress.ToString() + "/" + System.IO.Path.GetFileName(ofdFileToBeam.FileName));
                    ObexWebRequest request       = new ObexWebRequest(uri);
                    Stream         requestStream = request.GetRequestStream();
                    FileStream     fs            = File.OpenRead(ofdFileToBeam.FileName);
                    byte[]         buffer        = new byte[1024];
                    int            readBytes     = 1;
                    while (readBytes != 0)
                    {
                        readBytes = fs.Read(buffer, 0, buffer.Length);
                        requestStream.Write(buffer, 0, readBytes);
                    }
                    requestStream.Close();
                    ObexWebResponse response = (ObexWebResponse)request.GetResponse();
                    MessageBox.Show(response.StatusCode.ToString());
                    response.Close();

                    Cursor.Current = Cursors.Default;
                }
            }
        }