2011-02-09 16 views
9

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

+0

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). –

risposta

5

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.

+0

Questa libreria funzionerà con Socket.IO out of the box? – greenimpala

11

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.

+0

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

+0

scusa, ma non c'è un tutorial per questo. – pkyeck

+0

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 –

Problemi correlati