无法建立套接字连接

米克·麦卡锡(Mick McCarthy)

我正在尝试按照本教程在JavaScript中的客户端和服务器之间设置简单的WebSocket。我要负责作者写的那部分

此时,如果刷新网页,我们可以在终端中看到“ Made socket connection”以及字母和数字的怪异组合,它们代表socket.id(唯一的套接字)。

但是,对我而言并非如此。我收到“正在侦听端口8080”消息,但没有收到套接字连接消息。在Chrome DevTools中,我可以看到我的客户端HTML页面无法找到该chat.js脚本(请参见下图),但是我还没有能够进一步诊断的必要知识:

安慰 网络

这篇文章在软件工程术语上已经很老了,所以我想知道其中某些内容的工作方式是否已经改变?我相信我所做的每一件事或多或少都与所描述的完全一样,尽管我可能错过了一些东西。我的文件夹结构如下:

资料夹

我的代码如下:

chat.js

const socket = io(window.location.origin);

index.html

<!DOCTYPE html>
<html lang="en" dir="ltr">
    <head>
        <meta>
        <title>WebSocket Tutorial</title>  
        <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/3.1.1/socket.io.js" integrity="sha512-oFOCo2/3DtjrJG4N27BjSLQWoiBv171sK6a+JiWjp/7agxC2nCUP358AqzxkBUb5jX8g6CYLPdSKQTbC0weCwA==" crossorigin="anonymous"></script>          
    </head>

    <body>
        <h1>Hello, World!</h1>
        <!--Load Socket.io in Client-->
        <script src=“/chat.js”></script>
    </body>
</html>

index.js

// Server Setup

const express = require('express');
const socket = require("socket.io");
const app = express();

// Serve public folder to client 

app.use(express.static("public"));

const server = app.listen(8080, function() {
    console.log("Listening on Port: 8080");
});

// Run the socket on the server

const io = socket(server);

// Specify what to do on connection 

io.on('connection', (socket) => {
    console.log("Socket connected: ", socket.id);
});

任何帮助将非常感激!我已经在Google上搜索了一下,并研究了SO上处于类似情况的人员(例如this person),但尚未找到解决方案。希望这里有人可以提供帮助。

谢谢!

阿克斯泰克

您使用的引号(“” instead of ""错误,因此无法正确加载chat.js脚本这可能是因为您从教程中复制了标签。

<!DOCTYPE html>
<html lang="en" dir="ltr">

<head>
  <meta>
  <title>WebSocket Tutorial</title>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/3.1.1/socket.io.js" integrity="sha512-oFOCo2/3DtjrJG4N27BjSLQWoiBv171sK6a+JiWjp/7agxC2nCUP358AqzxkBUb5jX8g6CYLPdSKQTbC0weCwA==" crossorigin="anonymous"></script>
</head>

<body>
  <h1>Hello, World!</h1>
  <!-- wrong quotes -->
  <script src=“/chat.js”></script>

  <!-- right quotes -->
  <script src="/chat.js"></script>

</body>

</html>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

套接字无法建立连接

来自分类Dev

Firefox无法建立网络套接字连接,而Chrome可以

来自分类Dev

npm错误:无法建立隧道套接字,原因=连接ETIMEDOUT

来自分类Dev

Java:建立套接字连接池

来自分类Dev

通过代理建立套接字连接

来自分类Dev

无法与任何提供的主机建立套接字

来自分类Dev

Python套接字无法连接

来自分类Dev

Angular 7 e2e 连接 ETIMEDOUT,无法建立隧道套接字

来自分类Dev

如何使用C ++库Websocket ++建立安全的套接字连接?

来自分类Dev

PHP套接字,无法连接-循环?

来自分类Dev

无法在Treeline上连接套接字

来自分类Dev

Docker MySQL无法连接到套接字

来自分类Dev

无法使用javascript连接网络套接字

来自分类Dev

套接字无法检测到断开连接

来自分类Dev

无法使用javascript连接网络套接字

来自分类Dev

无法在本机反应中连接套接字

来自分类Dev

npm install->无法建立隧道套接字

来自分类Dev

无法建立 Appcelerator 错误隧道套接字,statusCode=400

来自分类Dev

即使建立了websocket,套接字IO仍保持(重新连接)连接

来自分类Dev

套接字连接超时

来自分类Dev

套接字TCP连接

来自分类Dev

Flutter套接字IO无法连接到Node JS套接字IO服务器

来自分类Dev

连接到套接字时似乎无法正常工作

来自分类Dev

套接字无法连接到本地主机

来自分类Dev

超时后无法重新连接到套接字

来自分类Dev

用响应连接套接字io,无法获取数据

来自分类Dev

Flutter无法连接到套接字服务器

来自分类Dev

WSA UDP套接字被强制关闭连接,因此无法重用

来自分类Dev

通过套接字的iOS连接无法正常工作