HTML WebSocket服务器,用于不同浏览器之间的通信

时间:2011-10-08 01:36:34

标签: html5 websocket phpwebsocket

我一直在尝试实现HTML5套接字服务器来广播它收到的所有连接客户端,但没有成功。

我是套接字的新手,有人pelase建议我,如果有任何已经可用的开源或者真正需要检查的是什么。所有我能看到的是客户端到服务器的通信,但我无法将数据从一个客户端发送到服务器到另一个客户端,或者简单地说,服务器只是将所有消息广播到其所有连接的客户端?

1 个答案:

答案 0 :(得分:0)

听起来你正在尝试实现点对点通信,这对于websockets是不可能的。

使用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"