Je dois créer une application de discussion pour iOS à l'aide de la programmation de la prise et que mon adresse IP est code pour les flux d'ouverture p> code pour l'envoi de données p> délégués p> veuillez me fournir une suggestion. p> p> 192.168.0.57:9300 code>.
J'ai utilisé
Raywenderlich CODE> Exemple de programmation de socket, la réception de données fonctionnant correctement mais l'envoi ne fonctionne pas, il n'y a aucune erreur ni crash.
Mon code est comme suit.
3 Réponses :
Vous devez ajouter le "\ n" à la fin de votre réponse, comme celui-ci:
- (IBAction)sendMessage:(id)sender { NSString *response = @"lets start chat\n"; ////your code }
Ajouter \ n ne le répare pas pour moi. Ce problème me dérange vraiment parce qu'il est si simple d'envoyer les commandes dans le terminal! Ma commande a cité que je marque avec \ ", alors peut-être que c'est un problème?
J'ai eu un problème similaire. Je l'ai résolu en ajoutant un nouveau caractère de nouvelle ligne et de ligne de ligne dans la chaîne.
- (IBAction)sendMessage:(id)sender { NSString *response = @"lets start chat\r\n\r\n"; NSData *data = [[NSData alloc] initWithData:[response dataUsingEncoding:NSASCIIStringEncoding]]; [outputStream write:[data bytes] maxLength:[data length]]; }
J'ai trouvé écrire un fil séparé résolu ce problème pour moi.
A du sens comme il ne faut pas vraiment faire des opérations de réseau sur le fil principal.
Voici mon code:
dispatch_async(dispatch_get_global_queue(QOS_CLASS_BACKGROUND, 0), ^(void) { NSData *data = [[NSData alloc] initWithData:[response dataUsingEncoding:NSASCIIStringEncoding]]; NSInteger len = [outputStream write:[data bytes] maxLength:[data length]]; NSLog(@"Len = %ld", len); });
Que voulez-vous dire avec "il montre la chaîne d'envoi"? Le récepteur montre-t-il comme ça? Quel est le récepteur (quel logiciel, extrait de post source si possible)? Comment traitez-vous la chaîne reçue?
J'ai attaché à tous les codes.Server code sont écrits en PHP
J'ai utilisé votre code exact pour initialiser une connexion et envoyer du trafic réseau d'un iPhone à mon Mac. Le logiciel de réception est écrit dans l'objectif C et également à l'aide de Nstreams. Toutes les chaînes transmises étaient ok. Je suppose que votre problème peut être du côté serveur (PHP). Avez-vous été capable de vérifier (avec un autre logiciel pour envoyer des chaînes) que votre rôle de serveur fonctionne?
@ nullp01nter salut je fais aussi cela dans Android, ça marche bien dans Android en utilisant le même serveur PHP
Utilisez le code PHPWebsocket d'utilisation du serveur qui peut être téléchargé à partir d'ici code.google.com/p/ PHP-WebSocket-Server - code.google.com/ p / php-websocket-serveur / wiki / script
Avez-vous eu un moyen de sortir, je reçois cela: Server a déclaré:: {"Type": "Usermsg", "nom": null, "message": null, "couleur": null}
Dans mon code de cas ne pénètre pas dans la section NstremeewehasbyteSaVailable. Qu'est-ce qui pourrait être une raison?