コラム / 1:1チャット / 7



さて、0番さんとか、
ブロックとかでてきたのでまたN3Libのせつめいをば。
N3Libでは、セッションに参加したユーザーに番号を振ります。
セッションを建てた人は0番になり、
次に入った人は1、2,3、・・・とカウントされていきます。
このIDは、全ユーザーで同期されていて、
たとえば16人接続なら、
16人どれのプログラムから見ても、
13番さんは同じ13番を指しています。
人が出たり入ったりしてもこの同期は行われています。
また、isOnline って変数もあるので、
こいつをチェックしてFalse→切れている
True→参加中 なんてこともできますが、今回はやっていません。
なので、相手が落ちたりしてもわかりません。
で、ブロックですが、
N3Libは、データが確実に届く、TCPというプロトコルを使ってます。
ですが、データには区切れがありません。
1キロバイトのデータを3回送っても、
1.5キロバイト2個としてもらっちゃったりします。
それがTCPです。
そこで、ブロックヘッダとやらをくっつけて、
データの句切れを保障しています。
その一個の区切れを、ブロック と名づけています。
もし、ブロックの展開に失敗したら、即座に切断します。
このブロック、64キロバイトぐらいしか入りません。
ブロック生成時にそれよりでかいの入れるとちょっと困るんですが、
そのエラー検知はまだつくってません。。。