[英]Receive Response over Bluetooth SPP as Client - Tizen .NET
I am trying to receive responses over BT SPP for my client device connected to a server.我正在尝试通过 BT SPP 接收连接到服务器的客户端设备的响应。 After creating the client socket and initiating the bonding
Client = device.CreateSocket(ServiceUuid); Client.ConnectionStateChanged += ClientConnectionStateChanged; device.ConnectionStateChanged += DeviceConnectionStateChanged; device.CreateBond();
创建客户端套接字并启动绑定后
Client = device.CreateSocket(ServiceUuid); Client.ConnectionStateChanged += ClientConnectionStateChanged; device.ConnectionStateChanged += DeviceConnectionStateChanged; device.CreateBond();
Client = device.CreateSocket(ServiceUuid); Client.ConnectionStateChanged += ClientConnectionStateChanged; device.ConnectionStateChanged += DeviceConnectionStateChanged; device.CreateBond();
I call the connect method in the bonding callback Client.Connect();
我在绑定回调
Client.Connect();
调用 connect 方法Client.Connect();
, and then subscribe to the OnDataReceived event Client.DataReceived += OnDataReceived;
,然后订阅 OnDataReceived 事件
Client.DataReceived += OnDataReceived;
Now everything works but the OnDataReceived is never called, as if there is no data returned.现在一切正常,但 OnDataReceived 从未被调用,就好像没有返回数据一样。 But as I am also controlling the server which runs on a secondary device, I know there is data being send back, so why is it not received ?
但由于我也在控制在辅助设备上运行的服务器,我知道有数据被发回,为什么没有收到?
Please refer the below test code for DataReceived() function.请参考以下 DataReceived() 函数的测试代码。
[ https://review.tizen.org/gerrit/gitweb?p=test/tct/csharp/api.git;a=blob;f=tct-suite-vs/Tizen.Bluetooth.Manual.Tests/testcase/TSIBluetoothServerSocket.cs;h=a52a38bb2ce46e384ca24897c27a694173d47fff;hb=refs/heads/tizen][1] [ https://review.tizen.org/gerrit/gitweb?p=test/tct/csharp/api.git;a=blob;f=tct-suite-vs/Tizen.Bluetooth.Manual.Tests/testcase/TSIBluetoothServerSocket .cs;h=a52a38bb2ce46e384ca24897c27a694173d47fff;hb=refs/heads/tizen][1]
303 public async Task DataReceived_CLIENT_EVENT()
304 {
305 try
306 {
307 /* We can't occupy the precondition, if BT feature is not supported in Manual TC */
308 if (_isBluetoothSupported == false)
309 {
310 BluetoothHelper.DisplayLabel("DataReceived_CLIENT_EVENT");
311 await ManualTest.WaitForConfirm();
312 return;
313 }
314
315 BluetoothSetup.CreateClientSocketUtil();
316 if (BluetoothSetup.Client == null)
317 {
318 ManualTest.DisplayCustomLabel("Precondition failed: Test device should be paired to the remote device.");
319 await ManualTest.WaitForConfirm();
320 return;
321 }
322
323 await BluetoothSetup.ConnectSocketUtil();
324 BluetoothSetup.Client.DataReceived += (sender, args) =>
325 {
326 Log.Info(Globals.LogTag, "DataReceived in client: "+args.Data.Data);
327 BluetoothHelper.DisplayPassLabel("DataReceived_SERVER_EVENT");
328 };
329 await ManualTest.WaitForConfirm();
And, please check one whether the Result is success or not in ConnectionStateChanged callback.并且,请在 ConnectionStateChanged 回调中检查 Result 是否成功。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.