Метод "сеанс: peer: didChangeState" - PullRequest
0 голосов
/ 01 марта 2011

Я прочитал эту статью: "http://www.devx.com/wireless/Article/43502/0/page/1"

Я хочу интегрировать в свое приложение Bluetooth. У меня была проблема. Я хочу соединить 2 устройства, и я хочу знать, вызвана ли функция "session: peer: didChangeState" на обоих устройствах. На мой взгляд, я думаю, что он вызывается на обоих устройствах.

Я хочу знать, вызывается ли метод session: peer: didChangeState на обоих устройствах.

Я хочу отправить через bluetooth структуру: Моя структура следующая:

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 или что-то в этом роде.

Спасибо за время, проведенное со мной:)

1 Ответ

0 голосов
/ 01 марта 2011
NSData * myData = [[NSData dataWithBytes:pachet 
                                  length:sizeof(*pachet)] autorelease]; 

myData уже выпущен автоматически.Вы должны написать:

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

Помните: сообщение об автозапуске отправляется столько раз, сколько оно вызывается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...