25

(JavaScript newbie)

I am trying to build a JavaScript based client app that communicates with a server app over socket. I came across socket.io. Is it possible to use socket.io without any node.js dependencies?

I have cloned socket.io github and wrote a simple client html to connect to the server (Can post the code if required). But it does not connect to the server.

(Background info: We need a simple config client utility that runs on Win32 that communicates with a custom server that supports socket communication with a custom packet-format protocol. Instead of going through the usual MFC/.NET, we think HTML/JS/CSS makes a better solution. For this purpose, I have considered the following options:

  1. Titanium: Works, but requires runtime to be installed
  2. HTML5 WebSocket: Not widely supported - works on Chrome but requires IE10
  3. socket.io: Trying to get it to work
  4. Any other? (Can post this question as separate thread, if necessary) )
skaffman
  • 398,947
  • 96
  • 818
  • 769
gammay
  • 5,957
  • 7
  • 32
  • 51
  • Just use node-iis and socket.io together – Raynos Nov 18 '11 at 13:42
  • What language do you write the server in? – Juliusz Gonera Nov 24 '11 at 08:55
  • There's a project put together by Guillermo Rauch, entitled "Socket.io, Sockets for the rest of us" It does just what you're looking for, socket.io functionality without the added complexity of node.js https://github.com/LearnBoost/socket.io-client – Beachhouse Nov 19 '12 at 22:45

3 Answers3

6

Establish a successful Socket.IO, your custom server must follow the spec, or use other server implementation of socket.io
https://github.com/learnboost/socket.io/wiki the In other languages part include some servers implementation of socket.io

sbugzu
  • 96
  • 1
  • 4
  • Thank you very much. I would love to try it out and accept the answer if it works. But I have moved on to a few other things (oh, the travails of the dictated corporate world!). I will get to this as soon as I can. And thanks much for your time time and effort again. – gammay Dec 14 '12 at 05:52
  • Thumbs up for the spec, but the wiki is no longer available, it seems socket.io is now maintained by Automattic. I couldn't find an equivalent page that listed __other languages__ implementations. – Jan Segre Aug 28 '14 at 01:44
  • Broken link. It redirects to: https://github.com/socketio/socket.io which has no wiki. Try: https://github.com/socketio/socket.io/wiki and you get redirected back to the repo (first link in this comment). The first link in the answer is a legacy repo, links to this: https://github.com/socketio/socket.io-protocol – Zoe Jul 15 '17 at 13:14
2

There's a lot of noise in the answers to the original question. Let me try to answer the question as clear as I can.

Is it possible to use socket.io without any node.js dependencies?

The short answer is yes. You will however have Flash dependency. You can read about how to do this in socket.io's faq.

ajduke
  • 4,991
  • 7
  • 36
  • 56
Jason Kim
  • 18,102
  • 13
  • 66
  • 105
2

As I understand, you need a socket.io server without node.js, right? If to use socket.io just as cross-browser WebSockets would be sufficient, and what i mean by that is nicely illustrated in the following example from socket.io web site:

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

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

It would make your server code very simple. Surely, you can find some WebSockets library for your language or even write your own. Look at this SO question for examples.

Or if you want to use socket.io protocol there is list of socket.io libraries for different languages, like python and java.

Community
  • 1
  • 1
alex vasi
  • 5,304
  • 28
  • 31