他デバイスからローカルサーバーに接続出来ない
他デバイスからローカルサーバーに接続出来ない
環境
OS Windows10
コーディングソフト VScode
使用言語 JavaScript
その他環境 Nodejsを仕使用し、サーバー側、クライアント側共にJSで記入。Nodemonを使用。
サーバー関連の処理を学び始めたばかりの初心者です。サーバーを立てているPC自体のブラウザから、「localhost:8000」と検索すると接続できました。
ほかデバイスからも接続してみたいと思い調べてみたところ、「同じWifiに接続し、『[IPアドレス]:8000(xx.x.xxx.xx:8000)』と入力すると接続できる」ようなのですが、自分の環境だと接続できません。
恐らく常識的な何かを見落としているのだとは思うのですが、調べても分からなかったので、思い当たるところを教えていただけると幸いです。よろしくお願いします。
このサイトにアクセスできません。
xx.x.xxx.xxからの応答が長すぎます。
ERR_CONNECTION_TIMED_OUT
該当するソースコード
const http = require('http');
const fs = require('fs');
const server = http.createServer((req, res) => {
res.setHeader('Content-Type', 'text/html');
let path;
switch (req.url) {
case '/':
path = './views/index.html';
// ステータスコードを割り当て
res.statusCode = 200;
break;
case '/about':
path = './views/about.html';
// ステータスコードを割り当て
res.statusCode = 200;
break;
// リダイレクトさせたいページ
case '/about1':
// 別のcaseを設定する
res.setHeader('Location', '/about');
// ステータスコードをリダイレクトに割り当て
res.statusCode = 301;
res.end();
break;
default:
path = './views/404.html';
// ステータスコードを割り当て(404ページでも200になってしまうため)
res.statusCode = 404;
break;
}
// fs.readFile('./views/index.html', (err, data) => {
fs.readFile(path, (err, data) => {
if (err) {
console.log(err);
res.end();
} else {
res.end(data);
}
});
});
server.listen(8000, 'localhost', () => {
console.log('ポート8000!');
});
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>htmlファイルですあいうえお</h1>
</body>
</html>
{
"name": "nodejs-tutorial-youtube",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"poka": "nodemon index.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"http": "^0.0.1-security"
},
"dependencies": {
"ws": "^8.17.0"
}
}
自分で試したこと
他デバイスからの接続ですが、以下のOS、ブラウザで試しました。
Android
Brave
Androidブラウザ
Chrome
iPhone
Brave
Safari
参考にした動画
https://www.youtube.com/watch?v=Zk7tpzaKv0U&t=875s
https://www.youtube.com/watch?v=W4bd81KPtp4