【问题标题】:Is it possible to connect to a server from a local file (not sent to server)?是否可以从本地文件(未发送到服务器)连接到服务器?
【发布时间】:2017-12-19 15:21:07
【问题描述】:

在我的 Web 应用程序中,我想使用 websocket 连接我的应用程序和服务器中的 html 文件。 (使用 socket.io)

是否可以在我在本地打开文件后立即启动套接字连接(例如 file:///../../file.htm)而不是在服务器端:http://localhost/

在下面这样一个简单的例子中怎么可能?

客户:

  var socket = io(); 
  socket.on('connect', function () { 
  socket.emit('a', 'b', function (data) {
  console.log(data); 
  });
});

服务器:

const app = require('express')();
const http = require('http').Server(app);
const io = require('socket.io')(http);
io.sockets.on('connection', function (socket) {
console.log('socket connected');

socket.on('disconnect', function () {
    console.log('socket disconnected');
});
});
http.listen(80, (ff) =>
console.log('Example app listening on port 80!'));

【问题讨论】:

    标签: server socket.io connection client local


    【解决方案1】:

    这是最基本的socket.io服务器:

    const io = require('socket.io')(3000);
    io.on('connection', function (socket) {
        console.log('client connected');
    
        socket.on('disconnect', () => {
            console.log('client disconnected');
        });
    });
    
    console.log('socket.io server started at port 3000');
    

    以及您可以在浏览器中以 file:///client.html 格式打开的 html 客户端:

    <!doctype html>
    <html>
      <body>
        <h1>Testing socket.io</h1>
        <h3 id="socket">waiting...</h3>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.0.1/socket.io.js"></script>
        <script>
            var socket = io('http://localhost:3000');
    
            socket.on('connect', function() {
                document.getElementById("socket").innerHTML = "socket connected";
            });
    
            socket.on('disconnect', function() {
                document.getElementById("socket").innerHTML = "socket disconnected";
            });
    
        </script>
      </body>
    </html>
    

    【讨论】:

    • 非常感谢。这是缺少的部分:从双方定义服务器地址。
    猜你喜欢
    • 1970-01-01
    • 2019-04-19
    • 2018-10-09
    • 1970-01-01
    • 2012-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-20
    相关资源
    最近更新 更多