【问题标题】:Is it possible to use socket.io server with pure html5 websockets?是否可以将 socket.io 服务器与纯 html5 websockets 一起使用?
【发布时间】:2013-06-12 15:35:30
【问题描述】:

我想在我的网络应用程序中使用套接字。我不想在客户端使用 socket.io 库。不过服务器端没问题。我可以这样做吗?

现在服务器上的 socket.io 和客户端上的纯 websocket 我有 destroying non-socket.io upgrade 错误。我用谷歌搜索这意味着我必须在客户端使用 socket.io-client 库。有没有办法避免这种情况?我不希望客户对这个库过于紧张,而是使用纯 html5 websocket。

如果服务器无法连接纯 html5 websockets,我应该使用什么?

如果有人好奇,这里是我的服务器代码(coffeescript 文件)

# Require HTTP module (to start server) and Socket.IO
http = require 'http'
io = require 'socket.io'    

# Start the server at port 8080
server = http.createServer (req, res) ->
    # Send HTML headers and message
    res.writeHead 200, { 'Content-Type': 'text/html' }
    res.end "<h1>Hello from server!</h1>"

server.listen 8080

# Create a Socket.IO instance, passing it our server
socket = io.listen server

# Add a connect listener
socket.on 'connection', (client) ->

    # Create periodical which ends a message to the client every 5 seconds
    interval = setInterval ->
        client.send "This is a message from the server!  #{new Date().getTime()}"
    , 5000

    # Success!  Now listen to messages to be received
    client.on 'message', (event) ->
        console.log 'Received message from client!', event

    client.on 'disconnect', ->
        clearInterval interval
        console.log 'Server has disconnected'

这是一个客户端

<script>
    // Create a socket instance
    socket = new WebSocket('ws://myservername:8080');

    // Open the socket
    socket.onopen = function (event) {
        console.log('Socket opened on client side', event);

        // Listen for messages
        socket.onmessage = function (event) {
            console.log('Client received a message', event);
        };

        // Listen for socket closes
        socket.onclose = function (event) {
            console.log('Client notified socket has closed', event);
        };
    };
</script>

【问题讨论】:

  • @orzechowskid 我现在尝试过没有任何结果,服务器没有响应此类请求。客户端控制台也是空的。

标签: websocket socket.io


【解决方案1】:

我找到了这个库,似乎可以满足我的需求https://npmjs.org/package/ws

【讨论】:

  • 我们可以使用javascript在本地服务器上打开一个端口吗?我的意思是使用这种 websocket 技术。 ??将我链接到一些文档。
猜你喜欢
  • 2021-11-15
  • 2016-04-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-21
  • 2016-02-28
  • 1970-01-01
  • 2011-06-13
  • 1970-01-01
相关资源
最近更新 更多