【问题标题】:node.js socket.io client and servernode.js socket.io 客户端和服务器
【发布时间】:2016-05-14 07:29:58
【问题描述】:

我想从http://socket.io运行最简单的socket.io演示

服务器 (app.js) 似乎工作正常。

但是我遇到了客户问题:

<script src="/socket.io/socket.io.js"></script>
<script>
  var socket = io.connect('http://localhost');
  socket.on('news', function (data) {
    console.log(data);
    socket.emit('my other event', { my: 'data' });
  });
</script>

我应该将第一个脚本 src 指向哪里?

我当然没有路径

/socket.io/socket.io.js

在我的网络服务器的公共文件夹中

我的安装如下:

安装节点:

wget http://nodejs.org/dist/node-v0.4.12.tar.gz -P /tmp
mkdir ~/opt
cd ~/opt
tar zxvf /tmp/node-v0.4.12.tar.gz
cd node-v0.4.12
PREFIX=~/opt ./configure
make
make install
echo 'export PATH=~/opt/bin:${PATH}' >> ~/.profile
source ~/.profile

测试:

which node

返回:

/home/wopi/opt/bin/node

测试:

node -v

返回:

v0.4.12

安装 NodePackageManager:

curl http://npmjs.org/install.sh | sh

测试:

which npm

返回:

/home/wopi/opt/bin/npm

测试:

npm -v 

返回

1.0.106

npm install socket.io

返回:

socket.io@0.8.7 ./node_modules/socket.io

├── redis@0.6.7

├── policyfile@0.0.4

└── socket.io-client@0.8.7

那么我应该如何指向正确的 js 文件呢?

【问题讨论】:

    标签: javascript node.js websocket npm


    【解决方案1】:

    您必须将 JavaScript 资源指向:

    your_ip:port_which_socket_io_isrunning/socket.io/socket.io.js
    

    例子:

    127.0.0.1:4000/socket.io/socket.io.js
    

    所以检查 Socket.IO 启动的端口..

    【讨论】:

    • O,我不清楚将其指向正在运行的节点实例... thx
    • @astropanic 你是如何启动你的节点实例来服务 socket.io.js 的?
    • 如果你只是简单地将socket.io.js文件从服务器移动到客户端的lib文件夹有什么区别(就像你安装jquery等一样)?
    • 很快就想通了; socket.io.js 需要 Node,它只是服务器端的。所以你必须远程托管 src
    【解决方案2】:

    /socket.io/socket.io.js 内置于 socket.io 服务器代码中。您不必将其托管在单独的服务器上。

    【讨论】:

      猜你喜欢
      • 2020-04-07
      • 2015-10-21
      • 2012-05-29
      • 2013-10-30
      • 2019-03-31
      • 2015-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多