【发布时间】:2015-03-27 04:36:36
【问题描述】:
我目前正在研究 socket.io 框架,为了向服务器触发一个事件,我们有一个预定义的方法,即带有 eventName 和数据的 sendEvent,我的问题是如果我们想发送多个参数,例如, 带有 eventName data1 和 data2 的 sendEvent,我该如何实现呢?
【问题讨论】:
标签: ios objective-c socket.io
我目前正在研究 socket.io 框架,为了向服务器触发一个事件,我们有一个预定义的方法,即带有 eventName 和数据的 sendEvent,我的问题是如果我们想发送多个参数,例如, 带有 eventName data1 和 data2 的 sendEvent,我该如何实现呢?
【问题讨论】:
标签: ios objective-c socket.io
如果要发送多条数据,可以将多条数据放入数组或对象中,然后将数组或对象传递给emit()。 socket.io 会将其转换为 JSON,发送 JSON,然后将另一端的 JSON 解析回对象或数组。
【讨论】:
为了澄清@jfriend00 的意思,这里有一个更具体的例子......
if (_socket.status == SocketIOClientStatusConnected)
[_socket emit:@"aMessage"
with:@[ @{ @"aKey" : @(9999),
@"anotherKey" : @"someValue } ]];
在您的 (coffeescript) socket.io 服务器中,您可能有类似...
app = require('http').createServer()
io = require('socket.io')(app)
io.sockets.on 'connection', (socket) ->
socket.on 'aMessage', (data) ->
console.log 'got data', data
app.listen 8900
这会导致类似...
got data aKey: 9999, anotherKey: "someValue"
tldr;
您的with:"array" 实际上可以只是一个对象...但它可以是一个字典,具有多个键和值。
【讨论】: