Native Client (NaCl) の socket API でハマった
Native Client SDK の socket のサンプルが動かないんだけどなんでだろう…。ほかのサンプルは動くんだけど…。
— ɥsɐu (@nash_fs) 2014, 8月 26
ということで 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