【问题标题】:Socket.io connection from localhost来自本地主机的 Socket.io 连接
【发布时间】:2015-10-28 12:57:14
【问题描述】:

我有在服务器http://mysite.co:8081 上运行的nodeJs 应用程序。我有聊天应用程序的地方。使用socket.io进行通信。

现在我想从localhost 连接到socket——我正在尝试从我安装了wamp 的机器上连接,并在www/test/index.html 中创建了一个html 文件。

index.html 只有以下代码。

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

socket.io.js 文件加载正确,但出现以下错误

Uncaught TypeError: io is not a function

现在让我看看我做错了什么。

谢谢,

【问题讨论】:

    标签: node.js socket.io localhost


    【解决方案1】:

    试试这个:

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

    【讨论】:

    • socket.io/docs 说使用 io() 但 io.connect() 有效。奇怪,我会检查更多并更新我的发现。
    • 仔细检查标题...提到如果您“与 Node http 服务器一起使用”,则使用 io(),“与 Express 3/4 一起使用”使用 io.connect( )。
    • 感谢您的识别——我在服务器上使用节点和快递。 var socketio = require('socket.io'); var express = require('express');是这种情况要用connect方法吗?
    • 是的...只有当你使用基本节点服务器时,没有任何框架,然后使用 io()。
    猜你喜欢
    • 2015-03-29
    • 1970-01-01
    • 2017-02-28
    • 2014-03-26
    • 2016-01-17
    • 2011-12-12
    • 2021-03-29
    • 2016-10-22
    • 1970-01-01
    相关资源
    最近更新 更多