2017-12-19 45 views
0

私のWeb-App私は私のアプリとサーバーでhtmlファイルを接続するwebsocketを使用したいと思います。 (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!')); 

答えて

0

これは最も基本的な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> 
+0

ありがとうございました。これは欠けている部分です:両側からサーバアドレスを定義する。 – ZAtrue

関連する問題