HTML WebSocket Server, For Communication between Different Browsers

374 views Asked by At

I have been trying to implement HTML5 socket server to broadcast whatever it receives to all its connected clients but have no success.

I am new to sockets, can someone pelase suggest me if there is anything already available opensource or what really is it one has to check for doing so. All i could see is client to server communication but there is no way i can send data from one client to server to the other client or simply put, the server just broadcast all messages to all its connected client??

1

There are 1 answers

3
Mike On BEST ANSWER

It sounds like you're trying to achieve peer-to-peer communication, which isn't possible over websockets.

It wouldn't be very difficult to set up a fast broadcast server using Node.js and CoffeeScript, that just echoes everything it receives from one socket to all of the others connected:

net = require 'net'

Array::remove = (e) -> @[t..t] = [] if (t = @indexOf(e)) > -1

class Client
  constructor: (@socket) ->

clients = []

server = net.createServer (socket) ->
  client = new Client(socket)
  clients.push client

  socket.addListener 'connect', ->
    socket.write "Welcome\r\n"

  socket.addListener 'data', (data) ->
    for c in clients when c isnt client
      c.socket.write data

  socket.addListener 'end', ->
    clients.remove client
    socket.end
.listen 4000

console.log "Chat server is running at localhost:4000"