2011-03-01 31 views
0

我讀過那篇文章:「http://www.devx.com/wireless/Article/43502/0/page/1方法「會議:同行:didChangeState」

我想在我的應用藍牙集成。我有一個問題。我想連接2個設備,我想知道兩個設備上是否調用了「session:peer:didChangeState」函數。在我看來,我認爲這是在兩個設備上調用。

我想知道是否在兩個設備上調用方法會話: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或類似的東西。

吳丹與我所花的時間:)

回答

0
NSData * myData = [[NSData dataWithBytes:pachet 
            length:sizeof(*pachet)] autorelease]; 

myData的已經自動釋放。你必須寫:

NSData * myData = [NSData dataWithBytes:pachet 
            length:sizeof(*pachet)]; 

記住:autorelease消息被髮送多次,因爲它被稱爲。

+0

我仍然有以下錯誤:wait_fences:未能收到回覆:1000403 – SerbanLupu 2011-03-01 17:25:41

+0

http://stackoverflow.com/questions/1371346/wait-fences-failed-to-receive-reply-10004003 – Max 2011-03-01 18:52:17