バックナンバーはこちら。
https://www.simulationroom999.com/blog/In-vehicle-network-backnumber/
はじめに
lwIP PCシミュレーションでHTTPサーバ実現の話。
動作方法と動作結果をWiresharkで確認してみる。
あとちょっと感想とか。
ソースコードは最後の方にGithubのURLを貼っている。
登場人物
博識フクロウのフクさん

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
lwIP PCシミュレーションでHTTPサーバ

さて、当初の目的のHTTPサーバの動作確認だ。

果たして本当に動くのだろうか・・・。

まぁpingも上手く通ってたし、
動かなくてもTCPのところ潜って調べるくらいだよ。

いや、チョロそうな言い方してるけど、
そうそうチョロい話じゃないんじゃないの?!

まぁチョロくはないなー。

まぁとりあえず動かしてみよう。

で、どうやって動作確認すれば良いの?
lwIP PCシミュレーションでHTTPサーバ動作方法

そこからか・・・。

ブラウザで見ればいいと思うんだけど、
URLとかどうなるのかなって。

URLはないんで、
IPアドレス直打ちになるねー。

IPアドレス直打ち?

こんな感じ。
http://192.168.40.100

え!
これでいいんだ!

一般的には
http://www.google.com
みたいな感じだと思うけど、
これはwww.google.comをDNSで該当IPアドレスを問い合わせてから
http://192.168.40.100
相当をしていると思えばいいよ。
(厳密には違うけど。)

まぁやり方はわかった。
ちょっとやってみる。

ブラウザでプロキシ設定している場合はその設定をオフにしておいた方が良いよ。

はーい。
lwIP PCシミュレーションでHTTPサーバ動作結果

お?
お?
おーーー!

(なんだ・・・この反応は・・・どっちだ?)

うん。
動いたみたいだ。

(ほっ)

結果はこんな感じ。


うん。
バッチリ動いてるね。
lwIPのHTTPサーバ用のサンプルページが表示されてる。

ということはlwIPのPCシミュレーションはOKってこと?

当然、完璧かどうかは分からないけど、
基本的には動作しているってことになるねー。
感想

しかし、今回のlwIP PCシミュレーションは太郎くんが言い出した話だから
完遂できてホント良かったよー。

ホント言い出した手前やめられなくなったから、
結構ひやひやびくびくしながら必死に調べ上げたって感じだったよー。

そーだろーそーだろー。

フクさんも今前のシミュレーションネタでは結構ひやひやしてたの?

一応、事前実験して少なくとも動作はするだろうって裏を取ってたりするんで、
ひやひやってほどはないかな?
仮に失敗しても失敗した事実とその原因が重要な情報だったりするからねー。

でも、原因が分からなかったりしたら大変じゃない?

まぁそこも辻褄があいそうな考察ぶっこんでそれっぽく終わらすこともできるし、
あんまり悩まないかなー。

マジか。マジすげぇな。
失敗は怖くない?

まぁこういう思考が失敗を恐れないというか、
そもそも本質的な失敗は存在しないって認識がいろいろ実験できるってことになるのかなー。

とういえばトーマス・エジソンの格言にもそういうのあったよねー。
私は失敗したことがない。ただ、1万通りの、うまく行かない方法を見つけただけだ。
トーマス・エジソン

そうそう。

とはいっても時間は有限だったりすることが多いから、
どっかで着地点を模索する方にシフトする必要に迫られることは多いけどねー。

キレイに終わりそうだったのに・・・。

まぁ偉人程できた鳥ではないんでねー。

次回からはどうするの?

ちょっと車載Ethernetの具体的な物理層の話をしていなかったんで、
そこに切り込んでみようかと。

え?
物理層が一般的なのと違うの?

まぁPCを直接つないで動くって感じではないねー。
そういう注意点も含めての話かなー。

まぁ知っておいた方が良さそうだね・・・。
ソースコード

今回使用したコードはGithubに上げておいた。
興味ある人は除いてみると良いだろう。
まとめ

まとめだよ。
- lwIP PCシミュレーションでHTTPサーバを動作させた。
- ブラウザのアドレスバーにIPアドレスを打ち込む感じ。
- lwIPのサンプルページが表示される。
- 本質的な失敗は存在しない。
- うまくいかない方法を発見できたと言える。
バックナンバーはこちら。
コメント