这是我用于创建到套接字的连接的服务器端代码。我正在使用 node.js 代码并在其中使用 socket.io。
const path = require('path');
const http = require('http');
const express = require('express');
const socketIO = require('socket.io');
const port = process.env.PORT || 3000;
var app = express();
var server = http.createServer(app);
var io = socketIO(server);
io.on('connection', (socket) => {
console.log('New user connected');
})
这是我的客户端代码,我使用纯 javascript 作为客户端,我使用的是 2.1.1 版本的 socket.io,我收到 io not defiend 错误,我是 socket.io 的新手,请帮助我一个这个。
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0">
<meta charset="utf-8">
</head>
<body>
<script>
$(document).ready(function(){
var socket = io('http://localhost:3000');
console.log("Socket connected"+socket.connected);
socket.on('notification', function(value){
//insert your code here
});
});
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<script src="http://localhost:3000/socket.io/socket.io.js"></script>
</body>
</html>
最佳答案
您的第一个脚本(使用 io
的脚本)在其他脚本(jQuery 和 Socket 脚本)之前运行。像这样移动你的脚本:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<script src="http://localhost:3000/socket.io/socket.io.js"></script>
<script>
$(document).ready(function() {
var socket = io('http://localhost:3000');
console.log("Socket connected" + socket.connected);
socket.on('notification', function(value) {
//insert your code here
});
});
</script>
关于javascript - 我的 socket.io 客户端出现 io not defined 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55449526/