[過去ログ] ネットワークプログラミング相談室 Port4 (1001レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
818
(1): ちゃんばば ◆Lw8TjwCkqM [sage] 02/12/07 22:36 AAS
>>817

>>776>>788
あと、アフォな書き方だから良くわからんが、
たぶん>>797も。
819
(1): デフォルトの名無しさん [sage] 02/12/07 22:46 AAS
788は813と同じような事を言ってるようだけど?
820: 名無しさん@接続しっぱなし [sage] 02/12/07 23:15 AAS
>>818
たぶん>>797は、>>796を「Nagle否定」と誤読したんだと思うよ…
>>804が言うように、>>796へのACKである一行目を除けば正しいから。
821: 名無しさん@接続しっぱなし [sage] 02/12/07 23:17 AAS
>>819
>>788が「お節介な時もある」なら同じだと思うけど…
822: デフォルトの名無しさん [sage] 02/12/07 23:37 AAS
殴るぞゴルァ
823: デフォルトの名無しさん [] 02/12/07 23:38 AAS
Winsockを使っています。
簡単なポートスキャナ(といっても知り合いのサーバの特定の複数のポートが開いているかどうか確認するだけですが)
を作り、それは確認にConnectが成功したか否かという方法をとっています。
この場合、成功するときは数秒でConnectが返ってくるのですが、
失敗するときはConnectが返ってくるまで20秒近くかかってしまいます。
成功も失敗も数秒でわかるようにしたいのですが、どのようにすればよいでしょうか?
Connect以外でポートが開いているかどうかを確認する方法はあるでしょうか?
よろしくおねがいします。
824
(1): デフォルトの名無しさん [sage] 02/12/07 23:40 AAS
過去ログ、というかこのスレをconnectで検索しろ。
つかそれくらいもできないヴァカは氏ね。
825: デフォルトの名無しさん [sage] 02/12/07 23:40 AAS
非ブロッキングコネクト
826
(1): デフォルトの名無しさん [sage] 02/12/07 23:51 AAS
もっと早く知りたければ、SYNパケットだけ送るとか。
RST送って、返ってきたら「閉じてる」とか。
rawソケット使うか、データリンクに直接アクセスすれば?
connectだけじゃ芸がないだろう。
827: デフォルトの名無しさん [sage] 02/12/08 01:46 AAS
ありがとうございます。
>>824さんの言う通りまったく同じ質問が以前このスレあったのに申し訳ありませんでした。
ただ、タイムアウト方法の他に>>826さんの方法も知ることができ、
WEB検索すると役に立ちそうなページがヒットしたので、結果的に許してにゃんまげ。
828
(2): デフォルトの名無しさん [sage] 02/12/09 02:31 AAS
winsockでデータリンクにダイレクトにアクセスするにはどうしたらいい?
bpfみたいなものないんかな。
cygwinだったら可能かな?
829
(1): デフォルトの名無しさん [sage] 02/12/09 03:04 AAS
>>828
WinPcap じゃ駄目かい?
http://winpcap.polito.it/
830: 828 [sage] 02/12/09 12:59 AAS
>>829
おお。ありがとうございます。落としてみます。
831
(1): デフォルトの名無しさん [] 02/12/09 16:10 AAS
アセンブラレベルでネットワークを利用することはできますか?
832: デフォルトの名無しさん [sage] 02/12/09 16:17 AAS
>>831
そういう質問をするヤシにはできない。
833: デフォルトの名無しさん [sage] 02/12/09 16:36 AAS
は?
834: デフォルトの名無しさん [ sage ] 02/12/09 17:02 AAS
...
push eax
call [imp_WSASocket]

とかか(ワラ
835
(2): デフォルトの名無しさん [sage] 02/12/09 17:26 AAS
POP3クライアントを作るのに、winsockでWSAAsyncSelect使ってます。
FD_READとかFD_WRITEでイベントを処理するんですが、FD_WRITEがFD_CONNECT直後の1回しか来ません。
FD_READは常に発生しているようなんですが、なぜFD_WRITEは定期的に発生しないのでしょうか?
836: デフォルトの名無しさん [sage] 02/12/09 18:07 AAS
sendしてないからじゃないの
837
(1): チューボー [sage] 02/12/09 18:11 AAS
>>835
FD_WRITEってソケットに書き込めるようになったときに送られてくるんだったと思います。
だから任意のタイミングでデータ送信したい時は、
PostMessage()で強制的にFD_WRITE発行するといいんじゃないでしょうか。
半端な知識なんで変なこと言ってたらすみません。
838: デフォルトの名無しさん [sage] 02/12/09 18:19 AAS
FD_WRITEについては、このスレのpart1でいろいろ議論されてたよ。

要約すると、connect直後のFD_WRITE以外は、
sendしてWSAEWOULDBLOCKが返ってきた後の、IO-pendingからの復帰時にしか来ない。

だから、sendは(connectしたら)いつでもやっていいの。
だけど、続けてsendするといずれ失敗する。
そうなったら、「もうsendしても大丈夫だよ」とFD_WRITEが来る。
839: デフォルトの名無しさん [sage] 02/12/09 18:53 AAS
>>837
むちゃくちゃ変ですあほ
840: 835 [sage] 02/12/09 19:23 AAS
ふむふむ。。。
みなさん、ありがとう。

もう少しがんばってみます。
841: デフォルトの名無しさん [sage] 02/12/09 22:26 AAS
データが大量に届き続けると、FD_READ が連続で発生して
UI が固まるから、止めた方がいいよ。
842: デフォルトの名無しさん [sage] 02/12/09 22:32 AAS
select で send を使うのって、どういうときなんですか?
いつでも書き込んで良さそうなんですが。
843
(1): デフォルトの名無しさん [sage] 02/12/10 01:22 AAS
非ブロッキングソケットで、sendで止まっては困るとき。
844: 843 [sage] 02/12/10 01:22 AAS
しまった、ブロッキングソケットで、だ
845
(1): デフォルトの名無しさん [] 02/12/10 12:18 AAS
BSDソケットの代わりにカーネルキュー使うと
無茶苦茶速くなると聞いたんですが
そのあたりの資料ってないですか?
846: デフォルトの名無しさん [sage] 02/12/10 15:12 AAS
その程度の知識の奴が使って「無茶苦茶速くなる」
ことなど決してない
847: デフォルトの名無しさん [ sage ] 02/12/10 15:37 AAS
とりあえず、
http://ghost.math.sci.hokudai.ac.jp/esehttpd/
の関連リンクをあたれ。

それと、kqueueはsocketを待つ方法の一種。
socketのかわりに使うわけではない。
848: デフォルトの名無しさん [] 02/12/11 14:31 AAS
あげ
849: デフォルトの名無しさん [sage] 02/12/11 14:34 AAS
rawソケットとかで直接データリンクにアクセスしている場合、
自分宛のパケットを取り込むことってできるんでしょうか?
ipアドレスを自分宛、MACアドレスも自分宛にして、送信してみましたが
取り込めません。
ためしに自分宛のIPアドレスとしてループバックアドレスを指定してみましたが
取り込まないです。。。
850
(1): デフォルトの名無しさん [] 02/12/11 19:57 AAS
プログラミング以前なんだけど、教えて下さい。
ノンブロッキングでシングルスレッドI/Oマルチプレクシングってどういう意味ですか?
851: 名無し@沢村 [] 02/12/11 19:58 AAS
銀行のATMにアクセスするプログラムはどう書くのですか?
852: デフォルトの名無しさん [sage] 02/12/11 20:19 AAS
( ゚д゚) ポカーン
853: デフォルトの名無しさん [sage] 02/12/11 20:20 AAS
つーか、また沢村かよ!! 土に還れ!!
854: 名無し@沢村 [] 02/12/11 20:45 AAS
銀行のATMにアクセスするプログラムの書き方

//ネットワークに流れるデータを受信する
recive(data);
//データがATMのときは
if(data==ATM)
//あ億円を引き出す
popmoney(100000000);
855: 名無し@沢村 [] 02/12/11 20:50 AAS
銀行のATMにアクセスするプログラムの書き方

//ネットワークに流れるデータを受信する
recive(data);
//データがATMのときは
if(data==ATM)
//1億円を自分の口座に振り替える。
sendmoney(100000000)from(anybank)to(mybank);
856: デフォルトの名無しさん [sage] 02/12/11 20:56 AAS
ワラタ
857
(2): デフォルトの名無しさん [sage] 02/12/11 22:13 AAS
>>850
まったくもってプログラミング以前の話じゃないぞ。

ソケットをノンブロッキングにしてselectでイベントを待ち、
イベントドリブンっぽく記述するプログラムのモデルのことだろう。

たとえば、サーバープログラムが、複数のクライアントとの処理を
"forkせずに"おこなう場合なんかに使える。

まあ、unixならfork、win32/javaならthreadにしたほうが
楽だと思うけどね。
858: デフォルトの名無しさん [ sage ] 02/12/11 22:17 AAS
unixなら、自力でforkするより、inetdから起こして貰う方が楽と思うが。
859: デフォルトの名無しさん [sage] 02/12/11 22:19 AAS
シングルスレッド〜との対比で言うならforkであってると思う。
860: デフォルトの名無しさん [sage] 02/12/11 22:34 AAS
> まったくもってプログラミング以前の話じゃないぞ。

すこーし言葉がおかしいと思う。
861
(1): 857 [sage] 02/12/11 23:16 AAS
追記。

win32ならwinsock2とWindowMessageを使えばイベントドリブンになるね・・・
でもその格好で書いたことないや・・・
862: デフォルトの名無しさん [ sage ] 02/12/11 23:26 AAS
漢は黙ってIOCP
863: デフォルトの名無しさん [sage] 02/12/11 23:27 AAS
>>861
ウィンドウメッセージを使うのはWinsock2.0でなくてもできるぞ。
Winsock2.0で追加されたのはイベントオブジェクトを使った非同期処理とか
重複I/Oだとか。
864: デフォルトの名無しさん [ sage ] 02/12/11 23:32 AAS
つーか、WindowMessageを使うwinsockは、
threadのないWin16のために出来たと思っていたが
865: デフォルトの名無しさん [sage] 02/12/12 00:00 AAS
そして話がシングルスレッド〜に戻るわけだが
866
(2): デフォルトの名無しさん [] 02/12/12 01:57 AAS
>>857
ノンブロッキングでシングルスレッドI/Oマルチプレクシング
これはzeusという有料webサーバーの特徴なんですが、ググっても要領を得なかったのです。
apache2.0の性能向上はマルチスレッド対応によるところが大きいと聞きますし
世間はマルチスレッドマンセーであると思われますが、シングルスレッドであるメリットはどこにあるのでしょうか?
またI/Oマルチプレクシングについての資料やサンプルコード(perlやC)はないでしょうか?
867: デフォルトの名無しさん [sage] 02/12/12 02:01 AAS
>>866
マルチプレクシングを多重に読みかえて検索してみなされ
http://www.soi.wide.ad.jp/class/20000011/slides/08/index_3.html
コードは見当たらんな
868: デフォルトの名無しさん [] 02/12/12 02:05 AAS
レベル低いね
869: デフォルトの名無しさん [ sage ] 02/12/12 02:12 AAS
たとえば、同時接続数10000とかになると、マルチスレッドだとスレッドが、
マルチプロセスだとプロセスが10000とかできたりして、
そのタスクスイッチだけで相当の時間が費やされてしまうし、
保存すべきコンテキストも膨大な量になるから。
870
(1): デフォルトの名無しさん [sage] 02/12/12 02:15 AAS
>>866
理屈からいえばシングルスレッド/非ブロッキングが一番効率的になる
(スレッド切り替えだとかの問題で)が、いかんせん、余りにも処理の
流れが掴みにくくなるので一般的に保守が面倒になる、といわれている。
apacheの場合はマルチプロセスだったものがマルチスレッドも可能になった
って話でこの場合関係ない。
871
(1): デフォルトの名無しさん [sage] 02/12/12 02:38 AAS
>>870
CPU1個ならね。
CPU複数なら、マルチスレッド、ノンブロッキングマルチプレクシングが良い。
のか?教えて、偉い人。
872
(2): デフォルトの名無しさん [ sage ] 02/12/12 02:55 AAS
プロセスが1つだと、そのプロセスが落ちたとき全滅なので、
マルチプロセス・ノンブロック・マルチプレキシング、
ということになったりもするが。
873
(2): デフォルトの名無しさん [sage] 02/12/12 03:07 AAS
>>871
以前読んだ解説記事には、例えばWebサーバみたいにI/Oリクエストを
多数処理するプログラムの場合、
(1)シングルスレッド。selectでマルチプレクシング。
(2)I/Oリクエストごとにスレッドを生成。
(3)CPU数程度のワーカ・スレッド。ノンブロッキングI/Oでマルチプレクシング。
と、下になるほどスケーラブルとあった。
874
(1): デフォルトの名無しさん [sage] 02/12/12 08:32 AAS
>>872
初期のApacheとかだと、cgiを呼ばなきゃなんない関係で、
別プロセスにしてるんじゃなかったかなあ。

>>873
ソースキボン
875: デフォルトの名無しさん [] 02/12/12 10:33 AAS
>>873
スレッドだけじゃ駄目な場合もあるだろうが

>>874
違う。1プロセスで扱える接続数には制限があるほか、
メモリリークを回避する意味合いや、>>872の効果もある。
876
(6): デフォルトの名無しさん [] 02/12/12 10:42 AAS
ちょうどマルチスレッドの話もでているので便乗させてください
不特定多数が参加するMMO(というわりには規模がちいさいけど、イメージ的にはそれ)を作っています
マルチスレッドを使おうと思ったのですが、色々訳あって現在はシングル+非同期winsockでやっております

そこで質問なのですが、winsockでconnectを同期せず(connectで止まらず)に行うには
AASyncを使うしかないのでしょうか
recv, sendはソケットのオプション変更で非同期にできたのですが…
プレイヤーがログインしたとき、データベースサーバーにコネクションを張らせたいのです
マルチスレッドにするしかないでしょうか?
877
(1): デフォルトの名無しさん [sage] 02/12/12 12:23 AAS
>>876
プレイヤー毎にDBに接続? 。。。正気の沙汰とは思えんな。
それじゃ同時接続数は30〜100くらいしかさばけんぞ。
878: デフォルトの名無しさん [] 02/12/12 12:32 AAS
UDPのパケット受信で正確な大きさが分からないのでsock_fastreadで受信します。
1回のsock_fastreadで処理したいのですが、
パケットってどれくらい小さく分断されるされる可能性があるものなのでしょうか?
879
(1): デフォルトの名無しさん [ sage ] 02/12/12 12:40 AAS
>UNIX Network Programming" によれば、全ての TCP/IP の実装は、
>MTU の大きさに関わらず 576 バイトの最小 IP データグラムを
>サポートしなければなりません。IP ヘッダが 20 バイトで UDP ヘッダが
> 8 バイトと仮定すると、UDP メッセージの安全な最大サイズとしては
>548 バイトが残ります
880: デフォルトの名無しさん [sage] 02/12/12 12:44 AAS
thanx!>>879
じゃ、sock_fastread1回で、500byte位まで逝けるね!
881
(1): デフォルトの名無しさん [sage] 02/12/12 14:20 AAS
>>876
WSAEventSelect
connectよりgethostbynameのEvent版がないことのほうが
納得いかん
882
(1): 876 [] 02/12/12 15:21 AAS
>>877さん, 881さん
ありがとうございます。
WSAEventSelect確認しておきます

今ひとつのサーバーにコネクションいくつ張れるかテストしてみました
43本……。
いや、Win98をサーバーにしようとは微塵も思わないけど、44本目で
「Error10055 バッファスペースに空きがない」
2kなら大丈夫かな…だといいな
クライアントとサーバーが同じPCだったからかな…
何にせよプレイヤーの数だけDBにコネクションを張るのは無謀、了解しました。

[プレイヤー] ←プレイ→ [ゲー鯖] ←セーブロード→ [DB鯖]
ゲー鯖とDB鯖には一本張って、それでやりとりするのがいいですかね
何にせよゲー鯖はプレイヤー人数分コネクト張らなきゃいけないのに、43本…
883: デフォルトの名無しさん [] 02/12/12 16:57 AAS
>>882
めちゃくちゃ納得
というか既存のネットゲーどうやってるのか?知りたいです。
ノンブロッキングIOプレクシングとやらも関係あるのかも
884: デフォルトの名無しさん [sage] 02/12/12 19:15 AAS
DBとゲー鯖で一本コネクション張っておけば?
でも一斉に大量がセーブロードを行う場合にsendバッファ超えそう
一回セーブ内容をプールしたりする必要があるかもな
885
(3): デフォルトの名無しさん [sage] 02/12/12 20:11 AAS
>>876
connectって非同期にできない?
リファレンス見ると、できそうに書いてあるけど。

> With a nonblocking socket, the connection attempt cannot be completed immediately. In this case, connect will return SOCKET_ERROR, and WSAGetLastError will return WSAEWOULDBLOCK.
886
(3): デフォルトの名無しさん [sage] 02/12/12 23:24 AAS
>>885
どう読んだらそうなるんだ?
「connect要求は直ちに完了できない(ノンブロッキングにできない)ので
エラーになる」と書いてあるが。
887
(1): デフォルトの名無しさん [sage] 02/12/13 00:00 AAS
>>886
Windows の設計はよくわかんなくて、エラーは返るんだけど、正常に
ノンブロッキング処理は行われる。

だから、メッセージをそのまま解釈すると、connect から SOCKET_ERROR
が返ってきて、かつ WSAGetLastError から WSAWOULDBLOCK
が返ってきたときは、正常に非同期接続が行われている(途中)ってことになる。
888
(5): 885 [sage] 02/12/13 00:07 AAS
>>886
え。だって、ノンブロッキングソケットって、いつもエラーリターンでそ? recv とか send とかも。
EWOULDBLOCK は、本来ならブロッキングしてたはずのところを、ノンブロッキングだからすぐリターンしたよって意味ではなかった?
889
(1): デフォルトの名無しさん [sage] 02/12/13 00:31 AAS
EWOULDBLOCKはEINTRと、意味は違うけどその後の処理は似てるね。
890
(1): デフォルトの名無しさん [sage] 02/12/13 00:56 AAS
まあ、Winsockのノンブロッキングを知ってればあたりまえだけど、
そういう仕様だと思って納得するしかないな。

ところで、>>876
> recv, sendはソケットのオプション変更で非同期にできたのですが…
というところから、ノンブロッキングモードではなく非同期モードを使おうとしているようだが。
ちなみに俺は知らんし調べる気もない。
891
(2): デフォルトの名無しさん [sage] 02/12/13 00:57 AAS
非同期とノンブロックは全く別ものだな。
知ったかクンがよく間違えてるが。
892
(2): デフォルトの名無しさん [] 02/12/13 01:06 AAS
private int DatagramSocket ds;
って宣言の仕方おかしいですか?

Eclipseをつかっていまして
トークン"ds"に構文エラーがあります。正しくは";","."です。と表示されますが、
どういうことでしょうか。
893: デフォルトの名無しさん [sage] 02/12/13 01:08 AAS
>>889
結構違うと思うよ。

EINTRはそのままリトライに入って問題ないけど、
EWOULDBLOCKはそのままだとBusy Loopに陥る。
894: デフォルトの名無しさん [sage] 02/12/13 01:09 AAS
>>892
ネットワークプログラミング以前の問題
初心者スレへ逝け
895: 892 [sage] 02/12/13 01:16 AAS
あ・・・なんでintが入ってるんだろ(汗
スマソ
896
(5): デフォルトの名無しさん [sage] 02/12/13 09:03 AAS
>>888
「いつも」ではない。その場で処理されてすぐに戻ってくるかもしれない。
いつもWSAEWOULDBLOCKが返ってくることを前提にした
コードを書いてはならない。
897: 876 [sage] 02/12/13 09:40 AAS
>>890-891
すいません、しったか君が間違えました
ノンブロッキングモードです。

cnnnectにもノンブロッキングモードはあるのかな
ちょっと調べてみます

>>881さん
WSAEventSelect調べてみました
ははーん…。
イベントとやらも便利そうですね。winsockのみなのが残念なところ
linuxでも試してみたいので、connectのノンブロッキングを探してみます
だめそうならイベントを
898
(1): デフォルトの名無しさん [sage] 02/12/13 12:57 AAS
>>896
上のドキュメント見ろ。「いつも」だ。
899
(1): デフォルトの名無しさん [sage] 02/12/13 13:01 AAS
> With a nonblocking socket, the connection attempt cannot be completed immediately. In this case, connect will return SOCKET_ERROR, and WSAGetLastError will return WSAEWOULDBLOCK.

ノンブロッキングソケットでは、コネクションの試みは即座には完了できない。
この場合、connectはSOCKET_ERRORを返す。WSAGetLastErrorはWSAEOULDBLOCKを返す。
900
(5): デフォルトの名無しさん [sage] 02/12/13 14:18 AAS
>>888より
> え。だって、ノンブロッキングソケットって、いつもエラーリターンでそ? recv とか send とかも。
>>896より
> 「いつも」ではない。その場で処理されてすぐに戻ってくるかもしれない。
>>899より
> the connection attempt cannot ...

後は自分で判断しような>他の人
901: デフォルトの名無しさん [sage] 02/12/13 14:34 AAS
判断する余地があるのか無いのか・・・
902: デフォルトの名無しさん [sage] 02/12/13 14:49 AAS
無いね。「may not」なら「完了しないこともある」だが、
「cannot」だからね。必ずSOCKET_ERRORが返る。
903
(1): 900 [sage] 02/12/13 14:54 AAS
>>888より
> いつもエラーリターンでそ? recv とか send とかも。
904: 900 [sage] 02/12/13 14:56 AAS
おっと、connect直後にFD_WRITEが来るから
send()が成功するのは当てはまらないと言われるかな。
905
(1): デフォルトの名無しさん [sage] 02/12/13 14:56 AAS
要するに>>896が知ったかということだろ。
906: 900 [sage] 02/12/13 14:57 AAS
connectに関しては全く異論はないよ。
907: 900 [sage] 02/12/13 15:01 AAS
しつこいから最後。
俺には>>896が知ったかだったのではなく、>>898がよく読んでなかっただけに見えるけどね。

あ、俺は>>896ではないよ。
908
(1): デフォルトの名無しさん [sage] 02/12/13 15:08 AAS
888がバカなのは確かだが。
909
(3): デフォルトの名無しさん [sage] 02/12/13 15:24 AAS
nonblockingなソケットの場合

1. connect()は必ずWSAEWOULDBLOCK.が返ってくる。
2. recv()やsend()とかはいきなり正常終了する可能性がある。

connect()する時は相手からの応答を待つから、即座の復帰はありえない。
recv()やsend()ではバッファの関係で正常/WSAEWOULDBLOCK.両方の可能性がある。

ごっちゃにしたのが混乱の原因(w
910: デフォルトの名無しさん [sage] 02/12/13 15:27 AAS

911: デフォルトの名無しさん [sage] 02/12/13 16:10 AAS
そうそう、send()が一番わかりやすいから書いたけど、
recv()もconnect後にFD_READが来る前でも成功する可能性がある。
そうなると、次にFD_READが来てからrecv()しても、WSAEWOULDBLOCKになる可能性がある。

また、FD_READの処理部で複数回recv()することも出来る。
そして、2回目以降が成功する場合もある。
この場合も次のFD_READで何も受信できない場合が多い。
これは、1回目のrecv()後にバッファにデータが残っていたら、
recv()からの復帰前にFD_READが送られるから。

だったはず。

確か、FD_CLOSEの後にFD_READが来る可能性もあったはず。
912
(1): デフォルトの名無しさん [sage] 02/12/13 18:04 AAS
>確か、FD_CLOSEの後にFD_READが来る可能性もあったはず。

普通はおきないけど、FD_CLOSE 前のFD_READ が届いたときに
(ソケットバッファ未満の?)小さな recv() しかしない場合に、
発生する可能性ありなんだっけ?

winsock 側としては、
FD_READ
FD_CLOSE
をポストして、お役御免と思っていたら、FD_READ 時に全部 recv()
してくれないものだから、そこで、あわてて FD_READ を再発行って
印象。

それ以外のシチュエーションでも、FD_CLOSE後のFD_READなどが
ポストされる場合って、あるのかな?
913: デフォルトの名無しさん [] 02/12/13 20:22 AAS
Mobile IPv6 に対応したプログラムくみたいんですけど、誰か参考になる
ソースとかのありかおしえてくれませんか?
914: デフォルトの名無しさん [sage] 02/12/13 23:28 AAS
>>912
前スレで同じ話があったと思う。
915
(1): デフォルトの名無しさん [sage] 02/12/14 04:28 AAS
蒸し返すようだけど、>>885-888の話の流れからして、
888は「WSAEWOULDBLOCKを知らせる時には(sendやrecvも)いつもSOCKET_ERRORを返す」
ということを言いたかったんじゃないかと思う。
とすると、888も896も898以降も、みんなわかってるのに言葉のあやでひっかかってただけかも。
日本語勉強しないとね>俺も
916: 名無しさん@接続しっぱなし [] 02/12/14 12:43 AAS
>>845
http://www.cs.rice.edu/~gaurav/papers/usenix99.ps
これ読むと、select(2)のkernel内bottle neckは、
bit操作であることが分かるよ。

だからkqueue/keventとまではいかずに、poll(2)や/dev/pollでも、
selectよりもかなり改善が期待できる。(C10Kな状況では)
http://www.kegel.com/dkftpbench/Poller_bench.html
にベンチマークがある。
917
(1): デフォルトの名無しさん [] 02/12/14 12:57 AAS
ウイルスをください
もちろんダウンロードしたときに
こっちのパソコンが感染しないように
してほしいです。
ダウンロードさせてくれるサイトの紹介でも
いいです。
1-
あと 84 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.029s