Sto sviluppando una specie di enorme gioco da tavolo multiplayer. La mia soluzione è node.js socket.io sul server. Ho bisogno di una soluzione per l'implementazione di una sorta di socket obiettivo-c che comunichi con socket.io per l'invio e la ricezione di oggetti json come stringa. non userò webkit con websocket. C'è qualche possibilità? il server manterrà lo stato di gioco, i client iphone invieranno l'azione al server e riceveranno le modifiche sul server back.iPhone comunicazione socket Objective-C con Socket.IO
risposta
Suggerirei di consultare la documentazione Apple per lo streaming e le prese se si prevede di eseguire un'app nativa. http://developer.apple.com/library/ios/#documentation/cocoa/Conceptual/Streams/Streams.html
Check this out: https://github.com/fpotter/socketio-cocoa
Questa libreria non sembra essere più mantenuta, il progetto git non clonerà nemmeno --recursive correttamente –
Oppure dare un'occhiata a cocoaasyncsocket:
CocoaAsyncSocket supporta TCP e UDP. La classe AsyncSocket è per TCP, e la classe AsyncUdpSocket è per UDP . Ogni classe è descritta di seguito.
AsyncSocket è una presa TCP/IP libreria di rete che include CFSocket e CFStream. Offre l'operazione asincrona e una classe di cacao nativa completa di supporto delegato. Qui sono le caratteristiche fondamentali:
coda non bloccante legge e scrive, con timeout opzionali. È dirgli cosa leggere o scrivere, e ti chiamerà quando è fatto.
Accettazione automatica della presa. Se gli dici di accettare connessioni, ti chiamerà con nuove istanze di se stesso per ogni connessione. Puoi, naturalmente, disconnetterli immediatamente.
Supporto delegato. Errori, connessioni, accetta, leggere completamenti, scrivere completamenti, avanzamento e disconnessioni comportano tutti una chiamata al metodo delegato.
Basato su loop, non basato su thread. Anche se è possibile utilizzarlo sui thread principali o di lavoro, non è necessario. Chiama i metodi delegati in modo asincrono utilizzando NSRunLoop. I metodi delegati includono un parametro socket, che consente di distinguere tra molte istanze.
Autonomo in una classe. Non è necessario andare in giro con correnti o prese. La classe gestisce lo tutto ciò.
Supporto per flussi TCP su IPv4 e IPv6.
La biblioteca è di dominio pubblico, originariamente scritto da Dustin Voss. Ora disponibile in un'impostazione pubblica per consentire e incoraggiare il suo continuo supporto.
AsyncUdpSocket è una libreria di rete socket UDP/IP che include CFSocket. Funziona quasi esattamente come versione TCP, ma è progettato in modo specifico per UDP .Questo include operazioni di invio/ricezione non bloccanti in coda , supporto delegato completo, , classe autonoma basata su run-loop, e supporto per IPv4 e IPv6.
Questa libreria funzionerà con Socket.IO out of the box? – greenimpala
2015/03/19 modificato: I ragazzi Socket.IO creato la propria libreria iOS che supporta Socket.IO v1.0 +. Scarica qui: https://github.com/socketio/socket.io-client-swift
risposta vecchia
I biblioteca socket.io di fpotter aggiornato per funzionare con la versione 0.7.2 - 0.9.x.
Supporta socket e XHRpolling.
https://github.com/pkyeck/socket.IO-objc
Forse si vuole controllare.
Ciao pkyech. Sto usando la tua libreria e funziona perfettamente con la mia app iOS7. Ora voglio collegarmi una volta e gestire gli eventi da ogni viewControllers tramite NSObject per evitare troppe connessioni/disconnessioni. Hai qualche tutorial su questo? – Maziyar
scusa, ma non c'è un tutorial per questo. – pkyeck
Aggiungo la libreria [link] (https://github.com/pkyeck/socket.IO-objc) in Xcode 7and iOS 9. Ma dopo la connessione mi dà solo una risposta di 'codice errore 400'. Comunque se lo sto facendo in un attimo, si connette correttamente. Questa libreria di obiettivi c è obsoleta? @pkyeck –
- 1. Comunicazione TCP iPhone
- 2. AngularJS: socket.io distruggere socket
- 3. node.js + socket.IO - socket non ricollegabile?
- 4. Cambia percorso socket Socket.IO statico
- 5. Socket.io Identify User for Socket
- 6. socket.io e .Net socket server
- 7. autenticazione socket.io dopo il socket stabilito
- 8. Programma socket iPhone
- 9. Comunicazione socket, client Java C server
- 10. Web socket con socket.io su AWS Elastic Beanstalk
- 11. Comunicazione IPC/Socket veloce in Java/Python
- 12. Salva dati su socket in Socket.IO
- 13. Node.js Restify con socket.io
- 14. Comunicazione sicura tra iPhone e server?
- 15. Esempi di comunicazione Bluetooth per iPhone
- 16. Comunicazione con estensione kit orologio e app per iPhone
- 17. client tcp con socket.io (nodejs)
- 18. ObjectiveC blocca l'equivalente Java
- 19. come organizzare la gestione socket in node.js e socket.io app
- 20. letsencrypt-express con Socket.IO
- 21. node.js + socket.io + architettura redis - connessioni socket servercaling orizzontali?
- 22. socket.io + Redis + expressjs grappolo - ottenere oggetto socket in expressjs richiedere
- 23. nodo js prese di rete + web socket senza socket.io
- 24. Le web socket funzionano con SPDY?
- 25. problema Socket.IO con caratteri di controllo
- 26. Aggiunta di dati a un oggetto socket.io socket
- 27. più socket che condividono una porta in node.js (tramite socket.io)
- 28. Chiusura di un socket server side su socket.io?
- 29. Socket.io, differenza tra socket.set() e la proprietà socket?
- 30. Confronto del socket IPV4 (sockaddr_in) con IPV6 Socket (sockaddr_in6)
Questa domanda è off-topic; [domande che richiedono solo raccomandazioni di librerie o altre risorse esterne al sito sono off-topic per Stack Overflow] (// meta.stackoverflow.com/q/251134/2747593). OP, se hai ancora questo problema, per favore inizia a scrivere il codice e torna quando hai un problema più specifico. Assicurati di mostrarci [cosa hai provato] (http://whathaveyoutried.com) e includere un [Esempio minimo, completo e verificabile] (// stackoverflow.com/help/mcve). –