在没有node.js的情况下使用socket.io standalone

时间:2011-11-18 12:45:54

标签: javascript windows websocket

(JavaScript新手)

我正在尝试构建一个基于JavaScript的客户端应用程序,它通过套接字与服务器应用程序通信。我遇到了socket.io。是否可以使用socket.io而没有任何node.js依赖项?

我克隆了socket.io github并编写了一个简单的客户端html来连接服务器(如果需要可以发布代码)。但它没有连接到服务器。

(背景信息:我们需要一个在Win32上运行的简单配置客户端实用程序,它与支持使用自定义数据包格式协议的套接字通信的自定义服务器通信。我们认为HTML不是通过通常的MFC / .NET / JS / CSS是一个更好的解决方案。为此,我考虑了以下选项:

  1. Titanium:Works,但需要安装运行时
  2. HTML5 WebSocket:不受广泛支持 - 适用于Chrome但需要IE10
  3. socket.io:试图让它工作
  4. 还有其他吗? (如果需要,可以将此问题作为单独的帖子发布) )

3 个答案:

答案 0 :(得分:4)

建立成功的Socket.IO,您的自定义服务器必须遵循the spec,或使用socket.io的其他服务器实现 https://github.com/learnboost/socket.io/wiki 在其他语言中部分包括socket.io

的一些服务器实现

答案 1 :(得分:2)

原始问题的答案中有很多噪音。让我尽可能清楚地回答这个问题。

  

是否可以在没有任何node.js依赖项的情况下使用socket.io?

简短的回答是肯定的。但是,您将拥有Flash依赖项。您可以在socket.io's faq.

中了解如何执行此操作

答案 2 :(得分:0)

据我所知,你需要一个没有node.js的socket.io服务器,对吧?如果要使用socket.io,就像跨浏览器的WebSockets就足够了,我的意思就是在socket.io网站的以下示例中很好地说明了:

var socket = io.connect('http://localhost/');
socket.on('connect', function () {
  socket.send('hi');

  socket.on('message', function (msg) {
    // my msg
  });
});

这会使您的服务器代码变得非常简单。当然,您可以找到适合您语言的WebSockets库,甚至可以自己编写。请查看this SO问题以获取示例。

或者如果你想使用socket.io protocol,可以使用list of socket.io libraries来表示不同的语言,比如python和java。