サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
セキュリティ
love-peace.hatenadiary.org
iモード対応のガラケーがないとiモードメールが使えない(iモード.netの利用開始が出来ず、IMoNIが使えない)という話ですが、 新規契約でXperiaしか持っていなくても以下の手順で@docomo.ne.jpのメールが使えるようになります。(実際は店のガラケー使ってるわけですが) 困ってる人が多そうなので、取り急ぎ公開します。 ドコモショップに行く My docomoのdocomo ID発行してもらう iモード.net登録してもらう 店のFOMA端末を借りて、Xperiaから抜いたSIMを刺し、メール受信の準備をする(SIM刺すだけで特に設定は必要なさそう) 店内のネットが使えるPC(or PC持ち込み;xperiaは不可)を借りて、iモード.netにログインし、ワンタイムパスワード発行ボタンを押す 借りたFOMA端末でiモードメールに来たワンタイムパスワードを受け取り、PCで入力(有
某プロジェクトとかのためにサーバーの作り方を書こうと思ったんですが、割と一般的な知識で難しい内容でもないので、公開でやります。 正直細かいことは知りませんが、逆に細かいことを考えなくてもサーバーくらい作れるよという感じで書いていきます。 Perlでサーバーを書くのは難しくありません。 ソケットを作り、ポートに結びつけ(bind)、接続を待ち(listen)、接続を受け付け(accept)、来たら適当に処理するだけです。 このときlistenまでは一回だけやればよく、acceptをwhileでループして、何度も接続をうけることができます。 実際のechoサーバー(=入力された内容を反射するだけのサーバー)は以下のようになります。(たったこれだけです) use Socket; #ソケット作成 socket(SERVER, PF_INET, SOCK_STREAM, getprotobyname
先日のサンプルもそうでしたが、POEもデフォルトではポーリングにselectを用います。 selectのコストは接続数に比例します。N人接続しているとき、各々にN倍のコストがかかるので、全体ではO(N**2)のコストがかかります。 それに対して新しい方式のepoll (BSD系ではkqueue)では、コストが接続数に比例しません。N人接続しているとき、全体の負荷はO(N)になります。 例えば10人接続している時と100人接続しているときのポーリングの負荷の違いを考えると selectの場合 接続者数が10倍で、負荷は10×10の100倍! epollの場合 接続者数が10倍で、負荷も10倍。 というかなり大きな違いが出てきます。数が少ない内はselectでも全く問題ありませんが、人が増えてくると顕著に負荷が違います。 (実際にベンチマークした結果がlibeventのサイトにあります) と言
telnetを同時に起動して試してみれば分かりますが、上のサーバーでは複数の接続を同時に捌くことはできません。 while(accept)のループで一つの接続のみを処理していて、そこを出るまでは次の接続を処理することができないからです。 自鯖のHTTPd位ならともかく、チャットやオンラインゲームなど、根本的に複数人が接続し続けるタイプのサービスは、そのままでは作ることができません。 それに対処するためには、いくつか方法があります。 ポーリングする(select,poll,epoll,kqueue等) 接続を子プロセスに投げる(fork) 接続をスレッドに投げる(threads) 2,3も有用ですが、適当に作るとメモリを食ってしまい、まじめに作ると多少面倒なので、とりあえず1のポーリングでの対処を説明します。 これは、新しいプロセスやスレッドを作らず、現在のプロセス一つで複数の接続を扱う方法
このページを最初にブックマークしてみませんか?
『love-peace.hatenadiary.org』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く