Native Client (NaCl) の socket API でハマった

ということで socket のサンプルが動かなかった。
エラーコードは -7 で、pp_errors.h を見ると

/** This value indicates failure due to insufficient privileges. */
PP_ERROR_NOACCESS = -7,

とのことだったので、何か設定が足りないみたいだった。
あらかじめ chrome://flags で enable-nacl, allow-nacl-socket-api にチェックを入れておいたのでそんなことはないだろうと思ってたが、実はこれがまずかったらしい。
allow-nacl-socket-api を外して起動オプションで --allow-nacl-socket-api=localhost を指定したところ動いた。

ちなみに Chrome のバージョンはこの記事を書いている時点(2014/08/27)での Canary Build です。

参考文献:ドンピシャな StackOverflow javascript - Portable native client Permission denied when resolving host - Stack Overflow