C# 蓝牙文件发送

C# 蓝牙文件发送,c#,bluetooth,windows-mobile-6,obex,C#,Bluetooth,Windows Mobile 6,Obex,我是蓝牙开发的新手,我发现了32英尺。现在我可以搜索附近的蓝牙设备并连接到它们,但如何发送文件,例如SendTest.txt?我使用OBEX尝试了buttonclick事件,但我不明白这是我的示例代码: using InTheHand.Net; using InTheHand.Net.Sockets; using InTheHand.Net.Bluetooth; namespace BluetoothIntheHand { public partial class Form2 : Fo

我是蓝牙开发的新手,我发现了32英尺。现在我可以搜索附近的蓝牙设备并连接到它们,但如何发送文件,例如SendTest.txt?我使用OBEX尝试了buttonclick事件,但我不明白这是我的示例代码:

using InTheHand.Net;
using InTheHand.Net.Sockets;
using InTheHand.Net.Bluetooth;

namespace BluetoothIntheHand
{
    public partial class Form2 : Form
    {
        private Guid service = BluetoothService.DialupNetworking;
        private BluetoothClient bluetoothClient;

        public Form2()
        {
            InitializeComponent();
        }

        private void btnSearch_Click(object sender, EventArgs e)
        {

                BluetoothRadio.PrimaryRadio.Mode = RadioMode.Discoverable;
                BluetoothRadio myRadio = BluetoothRadio.PrimaryRadio;
                lblSearch.Text = "" + myRadio.LocalAddress.ToString();

                bluetoothClient = new BluetoothClient();
                Cursor.Current = Cursors.WaitCursor;
                BluetoothDeviceInfo[] bluetoothDeviceInfo = { };
                bluetoothDeviceInfo = bluetoothClient.DiscoverDevices(10);
                comboBox1.DataSource = bluetoothDeviceInfo;
                comboBox1.DisplayMember = "DeviceName";
                comboBox1.ValueMember = "DeviceAddress";
                comboBox1.Focus();
                Cursor.Current = Cursors.Default;

        }

        private void btnConnect_Click(object sender, EventArgs e)
        {
            if (comboBox1.SelectedValue != null)
            {
                try
                {
                    bluetoothClient.Connect(new BluetoothEndPoint((BluetoothAddress)comboBox1.SelectedValue, service));
                    MessageBox.Show("Connected");
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }


   private void btnSend_Click(object sender, EventArgs e)
        {

                    bluetoothClient.Connect(new BluetoothEndPoint((BluetoothAddress)comboBox1.SelectedValue, service));
                    String addr  = "112233445566";
                    Uri uri = new Uri("obex://"+@"SendTest.txt");
                    ObexWebRequest req= new ObexWebRequest(uri);

                    ObexWebResponse rsp;


        }
我找到了指南,但不知道如何转换成C#

答复:

C4F(编码4趣味套件)具有obex-


我用过它,发现它非常可靠。

有人有其他的样品吗?或者可以向我解释文件发送等的基本知识吗?阅读用户指南,您可能已经这样做了。是在发布中还是在论坛中询问?
' The host part of the URI is the device address, e.g. IrDAAddress.ToString(),
' and the file part is the OBEX object name.
Dim addr As String = "112233445566"
Dim uri As New Uri("obex://" & addr & "/HelloWorld2.txt")
Dim req As New ObexWebRequest(uri)
Using content As Stream = req.GetRequestStream()
   ' Using a StreamWriter to write text to the stream...
   Using wtr As New StreamWriter(content)
      wtr.WriteLine("Hello World GetRequestStream")
      wtr.WriteLine("Hello World GetRequestStream 2")
      wtr.Flush()
      ' Set the Length header value
      req.ContentLength = content.Length
   End Using
   ' In this case closing the StreamWriter also closed the Stream, but ...
End Using
Dim rsp As ObexWebResponse = CType(req.GetResponse(),ObexWebResponse) 
Console.WriteLine("Response Code: {0} (0x{0:X})", rsp.StatusCode)
// The host part of the URI is the device address, e.g. IrDAAddress.ToString(),
// and the file part is the OBEX object name.

{
    string addr = "112233445566";
    Uri uri = new Uri("obex://" + addr + "/HelloWorld2.txt");
    ObexWebRequest req = new ObexWebRequest(uri);
    using (Stream content = req.GetRequestStream()) {
        // Using a StreamWriter to write text to the stream...
        using (StreamWriter wtr = new StreamWriter(content)) {
            wtr.WriteLine("Hello World GetRequestStream");
            wtr.WriteLine("Hello World GetRequestStream 2");
            wtr.Flush();
            // Set the Length header value
            req.ContentLength = content.Length;
        }
    }
    // In this case closing the StreamWriter also closed the Stream, but ...
    ObexWebResponse rsp = (ObexWebResponse)req.GetResponse();
    Console.WriteLine("Response Code: {0} (0x{0:X})", rsp.StatusCode);
}
string fileName = @"SendTest.txt";

String adr = "0025677FB346";
Uri uri = new Uri("obex://" + adr + "/" + System.IO.Path.GetFileName(fileName)); 
ObexWebRequest request = new ObexWebRequest(uri);
request.ReadFile(fileName);

ObexWebResponse response = (ObexWebResponse)request.GetResponse();
MessageBox.Show(response.StatusCode.ToString());
response.Close();