2015-11-24 4 views
0

В настоящее время я использую клиент Socket.io для быстрого доступа, и мне удалось установить соединение с сервером, но по какой-то причине я не могу получать события. Я попытался запустить его с помощью отладки, и он получает событие от клиента iOS, но не выполняет функцию addUser. Мне не хватает чего-то очевидного, но я не могу понять, что это такое.События с Socket.io в iOS

main.js

var app = require('http').createServer() 
var io = require('socket.io')(app); 
app.listen(6979) 

io.on('connection', function(socket){ 
    console.log('a user connected'); 
    io.emit('hi there:'); 
}); 

io.on('addUser', function(username){ 
     console.log('ran addUser'); 
     io.emit(username); 
     console.log(username); 
}); 

Свифта

import UIKit 
import Socket_IO_Client_Swift 

class ViewController: UIViewController { 
    var name:String? 
    let socket = SocketIOClient(socketURL: "http://xxx.xxx.xxx.xxx:6979", options: [.Log(true), .ForcePolling(true)]) 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     // Do any additional setup after loading the view, typically from a nib. 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 

    @IBAction func connect(sender: AnyObject) { 
     socket.connect() 
    } 

    @IBAction func sendMessage(sender: AnyObject) { 

    } 

    @IBAction func sendUsername(sender: AnyObject) { 
     let username = "yay" 
     socket.emit("addUser", username) 
    } 
} 

ответ

0

Сначала он (возможно) должна быть

let socket = SocketIOClient(socketURL: "/", options: [.Log(true), .ForcePolling(true)]) 

Затем на стороне сервера должен быть как

io.on('connection', function(socket){ 
    console.log('a user connected'); 

    socket.on('addUser', function(username){ 
     console.log('ran addUser'); 
     io.emit(username); // do you really need to do it? 
     console.log(username); 
    }); 

}); 

По крайней мере, это должно позволить вам принять событие addUser со стороны сервера.

+0

Извините, я супер новичок во всем этом хаха. Похоже, что это был код на стороне сервера, который был проблемой. Я вижу, что я сделал не так, спасибо большое! – Azer

+0

Всегда приветствую! – kaytrance

Смежные вопросы