2011年2月3日

golang で WebSocket チャットを作った

わりと自分にしては長い間温めてきた、というか公開するタイミングを逃し続けてここまできた感じではあるが、https と wss を使って保護された環境下で通信するチャットを作った。

もう少しだけ詳しい説明をこっちのページに書いたけど、2005年頃 VIPC チャットという名前のチャットシステムを Delphi で作っていた。
サーバ専用プログラムとクライアント専用プログラムに分かれていて、ニュー速VIP で知り合った友人と使っていたため伝説の機能とかトリップ(名前◆UAaWdT/Pf0みたいな奴)とか 2ch っぽい機能がついていたり、クライアントの表示部分も IE コンポーネントを使っていたのでデザインを 2ch 風にしたり色々遊び心のあるチャットサーバでかわいいやつだった。

そのサーバは記憶が間違っていなければ3年以上使っていたのだが、会話していた自分や友人の環境の変化などでサーバを立てておくためにパソコンを起動させておくのが厳しくなり、ある時期から誰も常駐しなくても問題ないように P2P で動いている Skype のグループチャットを使うようになった。

ところが最近では自分でさくらのVPSを借りたり、自宅サーバ用に専用マシンを買ったりして時間的にも懐的にも余裕ができてきたので、改めて似たようなことをしたいなあ、などと思い始めた。

当時作ったプログラムはサーバまで Windows 用プログラムだったので、立ち上げておくには Windows を立ち上げておかないといけなかったし(Wineは試していない)、今の時代 Windows に依存するのもナンセンスなのでクロスプラットフォームで使えるものにしたかった。
更にここ数年で一気に JavaScript や CSS なども面白くなってきたので、なら思い切って色々新しく作りなおしてみよう、ということで作ったのがこれ。

わりと新しいものを色々と使って作っているので公開してもそこそこ需要があるかな、と思ったので公開しました。ソースコードも公開予定ですが、先にファイルの整理などをしたいので少々お待ちをしました。
これといった特徴もないですが覚えてる限りでなんか挙げるとするとこんな感じ。
ソースは bitbucket で公開予定です。公開しました。

自分が JavaScript を使い始めるきっかけを作ってくれたり、ちょっとだけマニアックなプログラミングの話や他愛もない趣味の話とかが気兼ねなくできる大切な友人たちへ、ワガママな自分に付き合ってくれて、いつもありがとう。これからもよろしく。

Clip to Evernote