Stun Turn と諸々

あ〜またもや数ヶ月。しかし、この間劇的な進展があったので、備忘録も含めて更新。

まず、Erlang周りが大分解決。勿論、オールクリアなんて事は、ありません。

・Socket通信 TCP通信
https://www.ymotongpoo.com/works/lyse-ja/ja/26_buckets_of_sockets.html#tcp
作者、訳とも凡人には、わかりにくい校正ながら、サンプルで何度も、反芻して何とか、いや何となく解決。
gen_tcpからgen_serverに発展とか、素人には、ウルトラ難しい。

【参考】https://dmathieu.com/articles/development/erlang-tcp-server/
つーか、これなかったら、全く分からんかった。

これから、Swift4へつないで、チャットサンプル作成。こちらは、また纏めて備忘録作成。

・Socket通信 udp通信
何となく、分かった気がしたけど、NAT越えをしないと、普通は使えない事が分かる。しらんかったのか!と驚く事なかれ。しらんかったのです。この年で、ちょっとだけ、脳に皺増えました。ありがとうございます。

WebRTC https://gist.github.com/voluntas/975bfa230e513d146965

ベクトルがぶっ飛び過ぎ!普通にNAT越え調べたら、こればっかり。

本買った。時雨堂さんって凄いのね。尊敬します。時雨堂さんご推奨本+α

WebRTC ブラウザベースのP2P技術

WebRTC ブラウザベースのP2P技術

ハイパフォーマンス ブラウザネットワーキング ―ネットワークアプリケーションのためのパフォーマンス最適化

ハイパフォーマンス ブラウザネットワーキング ―ネットワークアプリケーションのためのパフォーマンス最適化

Real World HTTP ―歴史とコードに学ぶインターネットとウェブ技術

Real World HTTP ―歴史とコードに学ぶインターネットとウェブ技術

高度過ぎて、「なるほど分からん状態」

但し、StunとTurnは、Erlangで組んであるものを発見。

●STUN and TURN library for Erlang / Elixir
https://github.com/processone/stun

rebar3でも動かせた。

あとは、コレをどうやって通信で使えば良いのか、サンプルを探しております。ヘッダーだけ、stunで取得したものを織り込んで、あとは、そのまま送りつけるの?カスタムヘッダーが云々あるけど、指定するんだろうかね。

(´ヘ`;)ウーム… 使いこなすには、まだ長い道のりが・・・。

●WebRTC
lambdaclass/webrtc-server
https://github.com/lambdaclass/webrtc-server

How to set up MongooseICE (ICE/TURN/STUN server)
https://www.erlang-solutions.com/blog/how-to-set-up-mongooseice-ice-turn-stun-server.html

単純にWebRTCを実現するなら、上記の物でも良い?のかも。

したのは、有名なものらしい。