对于IOS,我有以下代码:
var socket: SocketIOClient!
override func viewDidLoad() {
super.viewDidLoad()
socket = SocketIOClient(socketURL: NSURL(string: "http://localhost:3000")! as URL)
socket.connect()
socket.on("general") { (_, _) in
print(123)
}
}
在NodeJS中,我有这个:
io.on('connection', function(socket){
socket.emit('general', "somerandomthing")
});
这样可以正常工作。但是,我尝试模拟向特定客户端发送消息。我是通过替换
来做到的 socket.emit('general', "somerandomthing")
到
socket.to(socket.id).emit('general', "somerandomthing")
它不再起作用如果我这样做了。它可能没有意义,但我找不到任何与ios客户端和服务器之间的特定套接字相关的文档
答案 0 :(得分:0)
而不是:
socket.to(socket.id).emit('general', 'somerandomthing')
你应该这样做:
io.to(socket.id).emit('general', 'somerandomthing')
完整代码:
io.on('connection', function(socket){
io.to(socket.id).emit('general', 'somerandomthing')
});