是否可以从本地文件(不发送到服务器)连接到服务器?
Is it possible to connect to a server from a local file (not sent to server)?
在我的 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!'));
这是最基本的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');
和 html 客户端,您可以在浏览器中将其作为文件:///client.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>
在我的 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!'));
这是最基本的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');
和 html 客户端,您可以在浏览器中将其作为文件:///client.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>