我读过那篇文章:“http://www.devx.com/wireless/Article/43502/0/page/1”
我想在我的应用程序中集成蓝牙。我遇到了一个问题。我想连接两台设备,我想知道这两台设备上是否都调用了函数"session:peer:didChangeState“。在我看来,我认为它在两个设备上都被调用了。
我想知道两个设备上是否都调用了方法session:peer:didChangeState。
我想通过蓝牙发送一个结构:我的结构如下:
typedef struct Package
{
tip_Comunicare_Enum type;
union mesaj_Comunicare
{
Msg_Cerere_Struct msg_Cerere;
Msg_Raspuns_Struct msg_Raspuns;
Msg_Initializare msg_Initializare;
}mesaj_Comunicare;
}
Package ;我的序列化程序看起来像这样:
-(void) SendData:(Package *) pachet
{
NSLog(@"Send DATA pachet");
printf("%d\n",sizeof(*pachet));
NSData * myData = [[NSData dataWithBytes:pachet
length:sizeof(*pachet)] autorelease];
[self mySendDataToPeers:myData];
}如果我这样使用,它就不起作用了,我会给出SIGKILL或类似的东西。
感谢与我共度的时光:)
发布于 2011-03-02 01:09:26
NSData * myData = [[NSData dataWithBytes:pachet
length:sizeof(*pachet)] autorelease]; myData已经自动发布了。你必须这样写:
NSData * myData = [NSData dataWithBytes:pachet
length:sizeof(*pachet)]; 记住:自动释放消息被调用多少次就发送多少次。
https://stackoverflow.com/questions/5157579
复制相似问题