[C/C++]libwebsocketsを試してみる。その1。

C言語実装のWebSocketsライブラリ libwebsocketsを試す。
導入メモ。

(更新)2013/2/21での最新版に更新しました。

・実行環境
Ubuntu 12.04 LTS
gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
autoconf (GNU Autoconf) 2.68
テストブラウザ Google Chrome v24 for win

・libwebsocketsのダウンロード
http://git.warmcat.com/cgi-bin/cgit/libwebsockets/

現時点での最新版Downloadの libwebsockets-master.tar.gz をダウンロードし、解凍する。

・autogen.shの実行

$./autogen.sh

・configureの実行

$ ./configure

・make & make installの実行

$ make
$ sudo make install

・テスト
test-serverというフォルダがあるので、この中のサーバーを実行します。

$ ./libwebsockets-test-server
lwsts[7584]: libwebsockets test server - (C) Copyright 2010-2013 Andy Green <andy@warmcat.com> - licensed under LGPL2.1
lwsts[7584]: Initial logging level 7
lwsts[7584]: Library version: 1.2 
lwsts[7584]:  Started with daemon pid 0
lwsts[7584]:  static allocation: 5460 + (12 x 1024 fds) = 17748 bytes
lwsts[7584]:  canonical_hostname = ubuntu
lwsts[7584]:  Compiled without SSL support
lwsts[7584]:  per-conn mem: 172 + 1328 headers + protocol rx buf
lwsts[7584]:  Listening on port 7681

ブラウザ(Chrome)でアクセスしてみます。
この環境の場合、http://192.168.1.22:7681 のようにhttpでアクセスします。
ウィンドウを2つ開き動作を確認します。下部のキャンバスエリアをなぞると、他のウィンドウと同期することがわかります。
Img20130221213716