蓝牙开发中的一些问题

来源:互联网 发布:草图大师软件图标 编辑:程序博客网 时间:2024/05/09 22:18

1.发送

void CBluetoothEngine::SendMessageL(const TDesC& aData)

{

RBuf8<256> allData;

TUint8 mark(0x01);

allData.Copy(&mark);

 

iSendData8.Close();

iSendData8.Assign(CnvUtfConverter::ConvertFromUnicodeToUtf8L(aData));

TUint length = iSendData8.Length();

 

allData.Append(length);

allData.Append(length>>8);

allData.Append(length>>16);

allData.Append(length>>24);

allData.Append(iSendData8);

 

ClientSendL(allData);

 

allData.Close();

}

 

上面的函数本身是没有问题的,但是由于接受方机器性能的问题的可能会出问题。

 

ClientSendL(allData) 是个异步函数(其中调用了 iSock.Write(aData, iStatus) ),执行完ClientSendL, allData.Close()也执行了,这样的 话 发送的数据 就丢失了。

原创粉丝点击