前提・実現したいこと
Node.jsでWebサーバーを作って見ようとしたのですが、下記のコードを実行した際に、エラーとなってしまいました。
発生している問題・エラーメッセージ
server listening ... events.js:72 throw er; // Unhandled 'error' event ^ Error: listen EADDRNOTAVAIL at errnoException (net.js:905:11) at Server._listen2 (net.js:1024:19) at listen (net.js:1065:10) at net.js:1147:9 at dns.js:72:18 at process._tickCallback (node.js:458:13) at Function.Module.runMain (module.js:499:11) at startup (node.js:119:16) at node.js:945:3
該当のソースコード
Node.js
1var http = require('http'); 2var server = http.createServer(); 3server.on('request', function(req, res) { 4 res.writeHead(200, {'Content-Type': 'text/plain'}); 5 res.write('hello world !!!'); 6 res.end(); 7}); 8server.listen(1337, '192.168.33.10'); 9console.log("server listening ...");
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
Node.js
Ver. 0.10.48 ```
web server は linuxですか?それともwindowsですか?
macOSで実行しています
> `server.listen(1337, '192.168.33.10');`
何故`server.listen(1337)`ではダメで、
第二引数にIPアドレスを指定しなければならないんですか?
エラーを消したいだけならば第一引数だけにすれば動きそうです。
EADDRNOTAVAILでググればわかりますが、
OSのネットワークの設定や、LAN環境のルーティングとかの話になってきます。
なので第二引数指定が避けられないのであればその辺の経緯や何をしているのかも必要になるんじゃないかなぁと思います。
ご確認ありがとうございます。
サーバーを待ち受け状態にしたいため、ポート番号とIPアドレスを指定しました。
また、このIPアドレスはローカル開発環境のアドレスになります。
>エラーを消したいだけならば第一引数だけにすれば動きそうです。
おっしゃる通りに動いたのですが、こちらでも待ち受け状態になっているのでしょうか?
https://teratail.com/questions/67513 にあるソースを
まるごとコピーしてうごくわけがない
>https://teratail.com/questions/250496 にあるソースを
まるごとコピーしてうごくわけがない
申し訳ありませんが、意図がわかりません。
リンクの指定ミスですかね?
https://teratail.com/questions/67513
すいません。そちらの記事をコピーは行っていません。
dotinstallのレッスンでのコードとなりますので、そちらで同じコードになったのだと思います。
https://teratail.com/questions/67513 と全く同一ですね
繰り返させていただきます。
dotinstallのレッスンでのコードとなりますので、そちらで同じコードになったのだと思います。
結果的に同じコードで同じエラーが出てるわけで、その質問に付いてる回答を読めば解決するのでは。
検索する前にこの質問をさせていただきました。
/*-------------------------------------------------*/
解決したのですが、助言を得て解決したので、自己解決ではないなと思ったので、回答してもらえると幸いです。
回答1件
あなたの回答
tips
プレビュー