golang で WebSocket チャットを作った
- WEVIPC チャット
https://test.oov.ch:10443/
もう少しだけ詳しい説明をこっちのページに書いたけど、2005年頃 VIPC チャットという名前のチャットシステムを Delphi で作っていた。
サーバ専用プログラムとクライアント専用プログラムに分かれていて、ニュー速VIP で知り合った友人と使っていたため伝説の機能とかトリップ(名前◆UAaWdT/Pf0みたいな奴)とか 2ch っぽい機能がついていたり、クライアントの表示部分も IE コンポーネントを使っていたのでデザインを 2ch 風にしたり色々遊び心のあるチャットサーバでかわいいやつだった。
そのサーバは記憶が間違っていなければ3年以上使っていたのだが、会話していた自分や友人の環境の変化などでサーバを立てておくためにパソコンを起動させておくのが厳しくなり、ある時期から誰も常駐しなくても問題ないように P2P で動いている Skype のグループチャットを使うようになった。
ところが最近では自分でさくらのVPSを借りたり、自宅サーバ用に専用マシンを買ったりして時間的にも懐的にも余裕ができてきたので、改めて似たようなことをしたいなあ、などと思い始めた。
当時作ったプログラムはサーバまで Windows 用プログラムだったので、立ち上げておくには Windows を立ち上げておかないといけなかったし(Wineは試していない)、今の時代 Windows に依存するのもナンセンスなのでクロスプラットフォームで使えるものにしたかった。
更にここ数年で一気に JavaScript や CSS なども面白くなってきたので、なら思い切って色々新しく作りなおしてみよう、ということで作ったのがこれ。
わりと新しいものを色々と使って作っているので公開してもそこそこ需要があるかな、と思ったので公開しました。ソースコードも公開
これといった特徴もないですが覚えてる限りでなんか挙げるとするとこんな感じ。
- 最近流行の Node.js ではなくて Golang
- 話題の socket.io は使わずに web-socket-js を直接使用
- ところが jQuery は使ってしまいました。おお神よ
- あとほとんど気付かないレベルで Google web fonts を使用
自分が JavaScript を使い始めるきっかけを作ってくれたり、ちょっとだけマニアックなプログラミングの話や他愛もない趣味の話とかが気兼ねなくできる大切な友人たちへ、ワガママな自分に付き合ってくれて、いつもありがとう。これからもよろしく。