Question

J'ai implémenté un serveur client-serveur de l'application Windows Desktop vers l'application iPhone. Je transfère des données à l'aide de NSStream en mode d'interrogation (synchrone).

CFReadStreamRef readStream;
CFWriteStreamRef writeStream;

CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)urlStr, portNo, &readStream, &writeStream);

inputStream = (NSInputStream *)readStream;
outputStream = (NSOutputStream *)writeStream;

[inputStream open];
[outputStream open];

Tout fonctionne bien, mais lorsque j'essaie de connecter un serveur inexistant ou un serveur déconnecté ou que l'adresse numéro / IP de port est erronée, la méthode d'écriture de l'objet NSOutputStream, arrête l'exécution de l'application.

const uint8_t *str = (uint8_t *) [strRichiesta cStringUsingEncoding:NSASCIIStringEncoding];
[outputStream write:str maxLength:strlen((char*)str)]; 

Est-il possible de gérer la méthode en insérant le contrôle du délai d'expiration? Si oui, comment puis-je faire?

Je pense que le même problème se produit également avec la méthode de lecture de l'objet NSInputStream.

Quelqu'un peut-il m'aider, s'il vous plaît?

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top