HTML WebSocket Server, для связи между различными браузерами - PullRequest
0 голосов
/ 08 октября 2011

Я пытался внедрить сервер сокетов HTML5 для передачи всего, что он получает, всем подключенным клиентам, но безуспешно.

Я новичок в сокетах, может кто-нибудь пеласе подскажет, есть ли что-нибудь уже доступное с открытым исходным кодом или что на самом деле нужно проверить для этого. Все, что я мог видеть, это связь между клиентом и сервером, но я никак не могу отправить данные от одного клиента к серверу другому клиенту или, проще говоря, сервер просто передает все сообщения всем своим подключенным клиентам ??

1 Ответ

0 голосов
/ 08 октября 2011

Звучит так, будто вы пытаетесь добиться одноранговой связи, что невозможно через веб-сокеты.

Не было бы очень сложно настроить сервер быстрой широковещательной передачи с использованием Node.js и CoffeeScript, которые просто повторяют все, что он получает от одного сокета ко всем другим подключенным:

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"
...