繁体   English   中英

在node.js中没有socket.io的情况下将消息发送到特定套接字

[英]Send messages to specific socket without socket.io in node.js

我想通过套接字向特定客户端发送消息,但似乎无法在没有socket.io的情况下弄清楚如何做到这一点。 我无法使用socket.io的原因是因为我正在尝试连接到Flash客户端,而且我已经在stackoverflow上读了很多线程,socket.io并不意味着连接到flash clent。 我有工作代码将节点套接字服务器连接到在flash(actionscript 3)中创建的套接字客户端,但它将信息广播给连接到套接字的每个人。 我认为如果有某种方式将信息发送到特定的套接字ID,那么我就会开展业务。 我查看了文档并且没有找到关于如何执行此操作的任何信息,但是我再也找不到有关文档中特定套接字ID的任何文档,但是使用“socket.id”会给出id,所以我我想知道是否有一些无证的方法来做到这一点。

而且仅供参考,这是一个纸牌游戏,每个玩家连接只是将他们的卡发送给他们。 游戏逻辑由服务器端负责,我有这个工作。 现在我只需要让每个玩家获得他们需要的信息。 谢谢。

达里尔

我知道您可以将Adobe® Flash® Socket与socket.io结合使用。 当您查看可用的传输(浏览器)时,您会注意到socket.io还支持Adobe® Flash® Socket 但说实话,我不知道具体的细节,但我认为你可以通过研究socket.io的规范页面来学习它们。

当寻找socket.io的WIKI我还发现已经有与使用socket.io库Adobe® Flash® Socket 该库名为FlashSocket.IO ,我相信它可以帮助你,虽然我自己也不知道任何闪存。

Adobe® Flash® Socket在最新的socket.io分支中是标准禁用的,但您可以通过研究配置socket.io来轻松启用它们。 此页面告诉您如何启用所有传输,我将在下面总结:

io.set('transports', [                     // enable all transports (optional if you want flashsocket)
    'websocket'
  , 'flashsocket'
  , 'htmlfile'
  , 'xhr-polling'
  , 'jsonp-polling'
]);

如果你还没有足够的答案(我认为这应该对你有所帮助)我认为你也可以在socket.io的问题页面上提出问题 ,因为我发现socket.io的维护者非常友好,并会告诉你如何实现这一点没有最小的痛苦。

最后,要使用普通节点完成此操作,您必须自己跟踪所有活动套接字连接(会话),并仅将该消息发送到该特定套接字。 这是一项平凡的任务,但我认为有足够的教程可以教你这个(你也可以看看socket.io他们是如何实现这一点的,尽管这是一个非常大的项目/代码库)。

我希望这能回答你的问题。 如果没有,我建议你在评论中提出一个问题,例如。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM