我有這個代碼的問題。 正如你所看到的一個內部線程recv的啓動,以便程序在給定的時候被阻塞,但會繼續它的執行,讓任務鎖定線程。 我的程序會繼續收到recv數據套接字new_sd,所以我進入了一個無限循環(註釋代碼)。 問題是,通過在recv之前輸入while(1)我的程序塊,但沒有正確插入它會收到一個字符串,但在此之後停止。 有人可以幫助我讓我的recv始終等待信息? 在此先感謝您的幫助。而(1)擋住了我的recv線程
- (IBAction爲)聊天{
[NSThread detachNewThreadSelector:@selector(riceviDatiServer) toTarget:self withObject:nil];
}
- (無效){riceviDatiServer
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc]init];
labelRicevuti.text = [[NSString alloc] initWithFormat:@"In attesa di ricevere i dati"];
char datiRicevuti[500];
int ricevuti;
//while(1){
ricevuti = recv(new_sd, &datiRicevuti, 500, 0);
labelRicevuti.text = [[NSString alloc] initWithFormat:@"%s", datiRicevuti];
//}
[pool release];
}
你告訴我的代碼,一個小例子?感謝 – zp26 2010-04-15 16:02:41
我的意思是我的代碼XP – zp26 2010-04-15 18:32:50
好了,只保留部分的同時... – Macmade 2010-04-15 18:35:30