IOS客户端与SOCKET.IO SWIFT:
class SignupViewController: UIViewController{
let socket = SocketIOClient(socketURL: NSURL(string: "http://localhost:3000")!)
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func createUser(sender: AnyObject) {
LoginUser(email: emailInput.text!, password: passwordInput.text!){ results in
self.addHandlers()
self.socket.connect()
}
}
private func addHandlers(){
socket.on("connect") {data, ack in
self.socket.emit("new-device-connect", "ascascasc")
}
}
SERVER:
// start the server if `$ node server.js`
if (require.main === module)
app.io = require('socket.io')(app.start());
//app.start();
app.io.on('connection', function(socket){
console.log("client connected");
socket.on('disconnect', function(){
console.log('user disconnected');
});
});
浏览器客户端
var socket = io('http://localhost:3000');
socket.on('connect', function(){
socket.on("new-device-connect", function(d){
console.log("a new client is connected");
});
socket.on("disconnect", function(){
});
});
当我在IOS客户端名称new-device-connect
中发出事件时,我需要在我的浏览器客户端上调用该事件以显示已连接的新IOS设备,但浏览器客户端未收到{{1事件。
答案 0 :(得分:0)
我会在你的服务器上放一个socket.on(“new-device-connect”),我还没有进行移动开发,但我认为你将这些信息传递给你的服务器而不是浏览器客户端。然后,Socket.io应该正确地向浏览器发出调用。