回答編集履歴

2

追記

2017/06/05 02:29

投稿

KSwordOfHaste
KSwordOfHaste

スコア18394

test CHANGED
@@ -31,3 +31,85 @@
31
31
 
32
32
 
33
33
  `node app.js`としてから`http://localhost:1337`のようなURLで開くと正常に読めると思います。(サーバー上で直接ブラウザーを開いて確認する場合の例です)
34
+
35
+
36
+
37
+ ---
38
+
39
+
40
+
41
+ 追記1: http://localhost:1337/index.htmlでアクセスしてもエラーとのことなので以下を確認してみてはいかがでしょうか?(それが原因だったときご質問にあるエラーになるかどうか怪しいところもありますが)
42
+
43
+
44
+
45
+ - サーバー上のnpm, node, socket.ioのバージョンを確認してみる
46
+
47
+ nodeが古すぎないかなどの確認です。v6やv7であれば問題ない気がします。どのバージョンまでなら問題ないかまではわかりませんが・・・
48
+
49
+ - サーバー上の`node app.js`は正常に起動できているか
50
+
51
+ - サーバー上で`app.js`があるディレクトリーで`npm install socket.io`は成功しているのか
52
+
53
+
54
+
55
+ app.jsを少し変更してデバッグログを出すようにすると少しは状況がわかりやすくなると思います。
56
+
57
+
58
+
59
+ ```javascript
60
+
61
+ // app.js
62
+
63
+ var app = require('http').createServer(handler),
64
+
65
+ io = require('socket.io').listen(app),
66
+
67
+ fs = require('fs');
68
+
69
+ app.listen(1337);
70
+
71
+ function handler (req, res){
72
+
73
+ console.log('request:' + req.method + ': url=' + req.url); // <================追加
74
+
75
+ fs.readFile(__dirname+'/index.html', function(err,data){
76
+
77
+ if(err){
78
+
79
+ res.writeHead(500);
80
+
81
+ return res.end('Error');
82
+
83
+ }
84
+
85
+ res.writeHead(200);
86
+
87
+ res.write(data);
88
+
89
+ res.end();
90
+
91
+ })
92
+
93
+ }
94
+
95
+ console.log('server start'); // <=============追加
96
+
97
+ ```
98
+
99
+
100
+
101
+ この状態でサーバー上でChromeを起動し、"http://localhost:1337"へアクセスした際のnode app.jsを実行したコンソール上表示は以下のようになるのが期待です。
102
+
103
+ ```bash
104
+
105
+ $ node app.js
106
+
107
+ server start # app.jsを起動したら出るはず
108
+
109
+ request:GET: url=/ # Chromeからアクセスしたらこれ以降の2行が出るはず
110
+
111
+ request:GET: url=/fabicon.ico # この行はFirefoxだとでないみたい
112
+
113
+ ```
114
+
115
+

1

サーバープログラムの処理内容に合わせアクセスURL例を変更

2017/06/05 02:29

投稿

KSwordOfHaste
KSwordOfHaste

スコア18394

test CHANGED
@@ -30,4 +30,4 @@
30
30
 
31
31
 
32
32
 
33
- `node app.js`としてから`http://localhost:1337/index.html`のようなURLで開くと正常に読めると思います。(サーバー上で直接ブラウザーを開いて確認する場合の例です)
33
+ `node app.js`としてから`http://localhost:1337`のようなURLで開くと正常に読めると思います。(サーバー上で直接ブラウザーを開いて確認する場合の例です)