2017-05-07 1 views
1

J'ai une adresse de serveur: http://someaddress.com/ en utilisant la bibliothèque SocketIO iOS pour se connecter à l'adresse ci-dessus avec le protocole et l'espace de noms corrects.ios comment implémenter SocketIO dans iOS

Socket Espace de noms: «/aléatoire »

Socket événement pour nombre aléatoire: « capture »

Ce serveur utilise SocketIO pour envoyer les numéros générés aléatoirement toutes les 4 secondes sur l'espace de noms «/aléatoire » avec le événement "capture". Comment accéder à l'adresse ci-dessus en utilisant la bibliothèque SocketIO. Merci d'avance.

+0

Sûrement, il existe des exemples de programmation iOS pour socket.io. Avez-vous essayé l'un de ceux-ci? Si oui, quel code avez-vous utilisé, quels problèmes avez-vous observés et où êtes-vous resté bloqué? Étant donné que vous avez un peu débordé de pile, je m'attendrais à ce que vous sachiez que vous devez faire vos propres recherches sur le problème, tenter une solution et venir ici seulement lorsque vous êtes coincé, pas avant d'écrire une seule ligne de code et sans nous montrer de code. – jfriend00

Répondre

3

ENUM Socket: String {

case serverURL = "YOUR_SERVER_URL" 
case namespace = "NAMESPACE NAME" 
case eventName = "EVENT NAME" 

}

/// Représente objet socket réelle avec l'URL du serveur et espace de noms.

var socket: SocketIOClient = SocketIOClient(socketURL: NSURL(string: Socket.serverURL.rawValue)! as URL, config: [.nsp(Socket.namespace.rawValue)]) 

override init() { 
    super.init() 
} 

/** 
This function used to establish connection with server. 
- Parameter: nil. 
- Returns: nil. 
*/ 
func establishConnection() { 
    socket.connect() 
} 

/** 
This function used to fetch next number from server. 
- Parameter: nil. 
- Returns: nil. 
*/ 
func nextNumberFromServer(){ 
    socket.on(Socket.eventName.rawValue) {data, ack in 
     if let number = data[0] as? NSNumber { 
      print(number) 
     } 
    } 
} 

/** 
This function used to close connection with server. 
- Parameter: nil. 
- Returns: nil. 
*/ 
func closeConnection() { 
    socket.disconnect() 
}