- 1 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 23:04:56 ]
- 主にソケットに関しての質疑応答スレッドです。
Programming UNIX Socket FAQ (日本語訳) www.kt.rim.or.jp/~ksk/sock-faq/indexj.html Winsock Programmer's FAQ (日本語訳) www.kt.rim.or.jp/~ksk/wskfaq-ja/ 関連リンクは>>2-10辺り 足りなかったら適当に付け足してね 前スレ ネットワークプログラミング相談室 Port18 pc10.2ch.net/test/read.cgi/tech/1159692799/
- 136 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 16:02:47 ]
- >>133
長さがわからなくなるときは、無い 長さは必ず返却される
- 137 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 17:24:33 ]
- >>136
レスありがとうございます。 ネットワークプログラミングでは、バッファ・オーバー・フローは 気にしなくても大丈夫なんでしょうか。 気を付けて使ってるのかわからないですが、猫でもわかるとか、 他の本でもstrcpy使用してみるみたいです。 strncpy、snprintfは全然見ないような。
- 138 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 17:38:07 ]
- 返された長さにもとづいてやればオーバーフローしないよ
長さを無視してるとダメだけど、 それはネットワークに限った話じゃないし
- 139 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 18:01:20 ]
- >>137
バッファオーバーフローは無論あってはならない。特にネットワークプログラミング においては重大なセキュリティホールに繋がりかねないので、強く意識すべき。 C++を使えるのなら、Cなんぞ使わずにstringやvector<>を使うことを薦める。
- 140 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 18:02:44 ]
- ていうかさ、そんな事を質問している時点で
基本を何も分かってないって事だろ。 まず系統的に解説してある入門書読めよ。
- 141 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 20:56:11 ]
- サンプルソースうpして聞けばいいよ
- 142 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 02:26:15 ]
- >>138-141
レスありがとうございます。 >それはネットワークに限った話じゃないし >C++を使えるのなら、Cなんぞ使わずにstringやvector<>を使うことを薦める。 とても勉強になりました。ありがとうございました。
- 143 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 01:22:19 ]
- webアプリはクライアントがどのプログラムからhttpリクエストを出してるかということを
判別できるんですか? ブラウザ(IE)に偽装した形でhttpリクエストを出したいんです。
- 144 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 01:34:49 ]
- >>143
スレ違い pc11.2ch.net/php/
- 145 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 11:49:08 ]
- >>143
ajax使うしかないな だが単純に普通にIE使ってたら最初の一発目は偽装不能
- 146 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 09:16:33 ]
- ひとつのコネクションでデータの送信と待ちうけを行うには
ポーリングするのが一般的でしょうか?
- 147 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 09:58:48 ]
- 俗に言うselect系
- 148 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 10:02:27 ]
- selectもブロックしてしまいますよね?
- 149 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 10:06:18 ]
- >>148
ブロックさせたいんじゃねーのかよ
- 150 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 10:17:50 ]
- ブロックしちゃうと任意のタイミングで送信ができないと
思うわけです。
- 151 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 10:52:30 ]
- selectはポーリングにも使えるが?
- 152 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 11:00:53 ]
- 送信可能な時はブロックしないで戻るしね。
- 153 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 11:09:14 ]
- selectの改良版はpollって名前だしね。
- 154 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 11:13:41 ]
- ちょっと詳しく教えてくれないか?
- 155 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 12:20:08 ]
- >>150
その任意のタイミング発生装置(ttyとかXのイベントとか)も selectに含ませてブロックさせる。
- 156 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 12:27:59 ]
- >>155
なるほど あなた、もしかして天才?
- 157 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 12:48:32 ]
- 何、通りすがりのサラリーマンさ。 単身赴任のね
- 158 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 12:58:46 ]
- >>157
すみません。本当はよく意味がわかってません。 しかーし、外部からselectを抜けさせればよいということですよね!
- 159 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 13:00:22 ]
- こんな感じですよね?
www.geekpage.jp/programming/linux-network/select-eintr.php
- 160 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 21:28:56 ]
- スレッド1:selectで受信待ち
スレッド2:問答無用でsend
- 161 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 21:39:18 ]
- >>160
( ・∀・)イイ!!
- 162 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 04:21:50 ]
- 1つのコネクションを複数のスレッドから使えるんだっけ?
- 163 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 04:25:43 ]
- >>162
今解らないことだらけでしょ?>プログラム作ってて ソケットとかスレッドとか。 もしそうなら本買って勉強したほうがいいと思うよ
- 164 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 04:43:26 ]
- >>146とは別人なんだけど。
たとえばWinsockはスレッドセーフであることは保証されていない www.kt.rim.or.jp/~ksk/wskfaq-ja/intermediate.html
- 165 名前:デフォルトの名無しさん [2007/03/29(木) 12:01:30 ]
- 女(socket)は一人、男(thread)が複数。
同時に複数の男が出し入れすることはできない。 一人がIOしているときは、他の奴が待つように作らないとバグるよ。
- 166 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 12:21:35 ]
- >>165
その説明だと、1 socketに対し、3 thread同時にI/Oできるように読めるが? また、thread同士でもI/Oできることになるので、適当な例えではない。
- 167 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 12:29:17 ]
- >>166
(゚Д゚)ハァ?
- 168 名前:デフォルトの名無しさん [2007/03/29(木) 12:33:50 ]
- 3Pはできたとしてもそれでも「同時に」IOできるのは一人の男と言いたかった。
(もう一つ穴があるだろ、はなしね) socket自体はスレッドセーフではないが、スレッド間で同時にIOを 行わないように制御すれば、複数スレッドで単一socketを使うことは可能じゃね? しかし、それでもデータ内容がごちゃごちゃになる可能性があったりするし、 あまり良い方法とは思わないが。 誰の子供かわかんな〜い、になっちゃう。
- 169 名前:165 mailto:sage [2007/03/29(木) 12:37:39 ]
- あ、165=168 ね
- 170 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 12:54:30 ]
- >>168
別の板でやれ
- 171 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 00:26:08 ]
- さて、そろそろパケットをティッシュに送信してから寝るかな
- 172 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 05:45:21 ]
- winsockでTCP通信するプログラムを作ってますが、クライアントがconnectする時に
接続先のIPアドレスに自分のマシンのプライベートアドレス指定しているときは、正常に動作しますが グローバルアドレスを指定すると、connectからエラーコード10061 (接続が拒否された)が返ってきます Windowsファイヤウォールによるブロックは、されてない様子です ネットワーク初心者ですが、どういうケースが考えられるでしょうか よろしくお願いします
- 173 名前:172 mailto:sage [2007/03/31(土) 08:18:29 ]
- 自分自身のグローバルIPには接続できないって事ですかね
テストを行うには、リモートマシンを使わないといけないんでしょうか
- 174 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 08:43:37 ]
- ルータやファームのバージョンによるのでは
うちはファームのバージョンあげたらできるようになった
- 175 名前:172 mailto:sage [2007/03/31(土) 10:20:27 ]
- ポート4123番を開放して、自分のマシンでサーバを起動して、外部からクライアントで接続を試してもらったんですが
同じくconnectでエラーコード10061が発生します。何がいけないんでしょうか
- 176 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 10:55:02 ]
- サーバって何?自作?
もしそうならbind呼び出しのところのコードを晒せ
- 177 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 11:21:02 ]
- >>172 NATとかIPマスカレードの問題では。あるいはルータに
折り返し機能がないか(>>175はこの問題と関係ないが)。 どっちにしても、ルータの設定の見直しが必要だと思います。
- 178 名前:172 mailto:sage [2007/03/31(土) 11:30:34 ]
- ポートを開放できてないのが原因でした。ありがとうございました!
- 179 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 14:12:13 ]
- 穴という穴に漏れの精子を流し込んだら、鯖が発狂しちゃった。
壊しちゃってごめん。
- 180 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 07:11:29 ]
- コマンドラインだけのチャットプログラムを作って、
ネットワーク勉強したところです。 もっと、複雑な通信規則のアプリを作りたいとき、 なんの命令待ちか状態の推移の管理の仕方で、 わかりやすいサンプルプログラムや本などないでしょうか。 本屋に行ってもいい本みつからないです。 ・データを送信したので、OKを待っている状態 ・データを待ってる状態 どんどん何を待ってるか、変わってくると思うんです。 よろしくお願いします。
- 181 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 09:50:10 ]
- linuxからWINDOWS2000に、20000バイトの文字列送信したら
WINDOWSの方で、2回に分けてrecv()が呼ばれているようでした。 ■linux send(soc,buf,strlen(buf)); //20000バイトの文字列を送信 WINDOWSのグローバルIPアドレスを指定して送信。 ブロッキングモード ■WINDOWS while(1){ recv(soc,buf,sizeof()); } ブロッキングモード //2回に分けてrecvが呼ばれました。16000文字と4000文字 サイズが大きいときは、分けてrecv関数が呼ばれることを 想定してプログラミングしないとだめでしょうか。 16000バイトというのは、環境関係なく決まった数字ですか?
- 182 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 11:40:49 ]
- FAQよむことをおすすめする。
TCPならどこで切られるか、どこでくっつくかは予想できない。 UDPで2回に分かれたというなら、バグじゃね?
- 183 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 23:11:47 ]
- UDPの場合1回で送信し切れなかったら単純に捨てられる
- 184 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 23:35:54 ]
- >>182
>>183 レスありがとうございます。 今回はTCPでした。UDPはそうでしたか。ふむふむ。 図書館で調べたら、パケット一個分だっり8000ぐらいのときもあったり ばらばらなんですね。 ブロッキング、ノンブロッキング、ローカルホスト、リモートホスト でも違うみたいです。 勉強になりました。 ありがとうございました。
- 185 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 23:46:37 ]
- >>184
というか、TCPはストリームベースのプロトコルだから、そういうことは 一切仮定してはならない。 TCPは、実際にはいくつかのIPパケットとして送られるデータを 区切りの無いただのバイト列のように見せる。 TCPで「メッセージの区切り」のようなものが欲しければ、自分で(アプリ層で) 仕掛けを作りこまなければダメだ。
- 186 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 00:10:26 ]
- >>185
大きなデータもらうときは、 std::string s; s+=buf; で、終わるまでこれを繰り返すようにして 解決できました。 勉強になりました。ありがとうございました。
- 187 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 00:55:21 ]
- std::stringって\0含むデータでもまともに動いたっけ?
- 188 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 01:32:02 ]
- 内部では動く。ただしもちろん、operator+=(const char*)は引数の終端を見る。
- 189 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 05:37:59 ]
- bufに\0が含まれてると破綻するわけですね
- 190 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 09:42:44 ]
- ACEってライブラリ使ってる方居ますか?昔ここで薦められましたが
- 191 名前:デフォルトの名無しさん [2007/04/06(金) 14:02:00 ]
- windows環境で一台の管理端末から複数の制御端末を制御する
プログラムを開発したいのですが この場合、制御される側にサーバアプリを置くのが一般的だと思っています。 しかし、それによって制御される側にWindowsファイアフォールを 開ける必要があると思うのですが、それをしたくないとしたら 管理端末にサーバアプリを置いて、制御端末にクライアントアプリを 置けばいいと考えています。 具体的にどのように考えているかというと @制御端末は管理端末にsendメッセージを送信したあとrecvメッセージがあるまでひたすら待ち続けます。 Aそして管理端末の操作によりrecvメッセージが返り、そのメッセージの指示に従い動作します。 の繰り返しを行うのです。 この考え方に非現実的でないとか不備がありましたら、 指摘してもらえますでしょうか?よろしくおねがいします。
- 192 名前:デフォルトの名無しさん mailto:sage [2007/04/06(金) 15:21:25 ]
- 問題ないでしょう
- 193 名前:デフォルトの名無しさん mailto:sage [2007/04/06(金) 16:29:31 ]
- 制御端末ってのは「制御される端末」って意味なのか?
変な言葉の使い方だな。
- 194 名前:デフォルトの名無しさん mailto:sage [2007/04/06(金) 16:43:07 ]
- 制御端末というと普通はunixの制御端末(/dev/tty, controlling terminal)のことだがな。
- 195 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 09:59:29 ]
- まああれだ
世間様の常識と自分の常識は必ず一致するとは限らないわけだな
- 196 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 12:48:07 ]
- すみません、初心者です。[ADSLモデム]-[ルータ]-[PC]と繋いでいるんですが、
ルータのWAN側グローバルIPを取得したいのですが、直接ルータに聞く方法ってありますでしょうか。
- 197 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 14:25:39 ]
- ADSLモデムのWAN側グローバルIPだろ?
・ADSLモデムのスレに行って、方法を聞く。 ・tracedumpを使う。 ・checkip.dyndns.org/などを使う。 というかそれプログラミングの話題と言うより、 ネットワークそのものの話題だな。
- 198 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 15:14:15 ]
- >>197
Windowsアプリのプログラムの中で取得したかったんです。 httpでルータの管理画面にアクセスして、取得すると、機種依存するんで、 何か決まった方法があるのか知りたかったんです。 直接ルータではなく、一度、外にアクセスするのが一般的なんでしょうか。
- 199 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 15:24:08 ]
- まずUPnPを試す。
GetExternalIPAddressをサポートしてなかったら機種依存するか 外部に接続する方法しかない
- 200 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 15:43:37 ]
- >>199
ありがどうこざいます。UPnPのサンプルが見付かりました。 ひとまずは、UPnP対応ルータみたいなので、これでいけそうです。
- 201 名前:デフォルトの名無しさん [2007/04/10(火) 18:32:35 ]
- ネットワークアプリ開発の勉強をしている者でございます。
MFCのCAsyncSocketについて教えてください。 クライアントのOnSendハンドラがコールされるときって 接続直後、ネットワーク障害発生以外に どのようなケースがあるのでしょうか?
- 202 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 03:18:27 ]
- 受信側がさばききれないくらいの勢いで送信しまくって
送信バッファがいっぱいになったとき もちろん送信バッファのサイズを仮定するプログラムを書いてはならない (つまりいつでも呼ばれうると考えるべき)
- 203 名前:デフォルトの名無しさん [2007/04/11(水) 09:26:49 ]
- >>202
ありがとうございます。
- 204 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 01:00:07 ]
- ネットワークプログラミングできる香具師って少ないの?
知り合いの人買いが人足りないって困ってた。 まあ派遣になんて人集まらなくて当たり前と心の中で思ってたが。
- 205 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 01:31:47 ]
- どんなアプリの?
webアプリなら死ぬほど転がってると思うが
- 206 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 03:20:47 ]
- >>205
ネットワークアプリだっつってんだろ webアプリなんざネットワークプログラミングじゃねーよ
- 207 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 07:41:32 ]
- ライブラリでACEとboost::asioとRakNet、OpenTNL、HawkNLどれがいい?
- 208 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 08:53:53 ]
- 用途は?
webアプリか?
- 209 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 20:40:30 ]
- mmoかな、あと暗号認証も
- 210 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 21:23:15 ]
- 暗号系はCPUパワー食うし遅延も発生するから辞めておいた方が。
ネットワークを隔離して閉網で構成した方がパフォーマンスもセキュリティも高い。
- 211 名前:デフォルトの名無しさん [2007/04/13(金) 22:13:10 ]
- 今日から勉強をはじめました。
環境はWindowsXPでVisualStudio2005です。 手始めにwinsockの初期化と終了処理ということで、 #include <winsock2.h> int main() { WSADATA wsaData; WSAStartup(MAKEWORD(2,0), &wsaData); WSACleanup(); return 0; } というプログラムを書いてみたのですが、 コンパイルする時に error LNK2019: 未解決の外部シンボル_imp_WSACleanup@0 が関数_mainで参照されました。 error LNK2019: 未解決の外部シンボル_imp_WSAStartup@8 が関数_mainで参照されました。 というエラーが出て、いきなり躓いてしまいました。 これは、どうすればいいのでしょうか?
- 212 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 22:19:47 ]
- >>211
ライブラリは?
- 213 名前:コッチェビ [2007/04/13(金) 22:21:52 ]
- (´・ω・`)コッチェビ・・・ws2_32.lib・・・
- 214 名前:211 [2007/04/13(金) 22:30:11 ]
- プロジェクトのプロパティのリンカ→入力→追加の依存ファイルのところでしょうか?
選択のところにws2_32.libがないのですが、これはネット上からダウンロードするのでしょうか?
- 215 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 22:31:14 ]
- 自分で調べろ
- 216 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 22:46:22 ]
- #pragma comment(コッチェビ, "ws2_32.lib")
- 217 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 22:55:05 ]
- ここって初心者スレだっけか
- 218 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 00:33:47 ]
- >211
つーかエラーの原因くらい特定できるようになれよバーカwwwwwwwww
- 219 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 00:57:03 ]
- >>211
ソリュューションの下のプロジェクトを右クリック->プロパティをクリックして構成プロパティを表示。 構成プロパティ->リンカ->入力->追加の依存ファイルのテキスト欄にws2_32.libを入力後->OK あと↓の設定も必要だったかも msdn2.microsoft.com/ja-jp/library/ms235626(VS.80).aspx
- 220 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 12:43:00 ]
- >>210
暗号は認証にしか使わないので大丈夫かなパスの平分で流すよりは自前でいじるのもなんだし ついでだからhttpsとか汎用性があるのを使おうかとおもって まあ三期の暇人学生が作るmmoゲー(予定)なんで使いやすいのを・・・
- 221 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 13:33:30 ]
- パスワードを平分で流したくないだけなら、
チャレンジ&レスポンスって方法もありますよ。 >>210は馬鹿だけど。
- 222 名前:デフォルトの名無しさん [2007/04/14(土) 21:35:08 ]
- クラック版を不可能とは言えないまでも、
作成がかなり難しくすることは可能でしょうか? また、そうするためにはどのような対策(パッカーも含めて)を行う必要があるでしょうか? メモリ書き換え対策?の仕組みや、解読されづらいパッカーなど、あったら教えてください。
- 223 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 21:56:12 ]
- なんだ?誤爆ですか?
一ついえるのは「パッカー自作しろ」
- 224 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 12:44:34 ]
- >>223
いや、大作先生のことだと思う。
- 225 名前:デフォルトの名無しさん mailto:sage [2007/04/16(月) 17:57:23 ]
- >>221
チャレンジ&レスポンスを見てみましたが、サーバー側で独自のレスポンスを作り 比較するらしいのですがその最初にパスなどを受け取るときにはどうするかが載ってなかった・・・まいっか 電気技術者三種が8月にあるから暇じゃなくなった・・・・orz
- 226 名前:デフォルトの名無しさん mailto:sage [2007/04/16(月) 19:55:45 ]
- non-blockingモードを調べていて気になったんですが、
最近みたソースで select / poll でも EAGAINまたは、EWOULDBLOCK の チェックしてたんですが、select/poll でもerrno にこれがセットされることって あるんですかね??マニュアルにはなかったもので。。
- 227 名前:デフォルトの名無しさん mailto:sage [2007/04/16(月) 20:44:54 ]
- selectそれ自体がEAGAINで戻ってくることはないはず
- 228 名前:226 mailto:sage [2007/04/16(月) 21:05:35 ]
- >>227
サンクス。やっぱり無駄なチェックなんですね。。。 ちなみに、non-blockingモードでも、selectやpollで待ち合わせてから、 send/recv すれば、EAGAINは返ってこないと思ってますが、 あってますよね? selectから抜けて、sendするまでにバッファが詰まるとかあるのかな??
- 229 名前:デフォルトの名無しさん mailto:sage [2007/04/16(月) 21:31:18 ]
- 全部やっとけば?
- 230 名前:デフォルトの名無しさん mailto:sage [2007/04/16(月) 22:04:07 ]
- >>227
kuruyo
- 231 名前:デフォルトの名無しさん [2007/04/16(月) 23:49:09 ]
- プログラムに組み込むような形のhttpサーバを探しています。
できるだけ小さいもので、良いものがあれば教えてください。
- 232 名前:231 mailto:sage [2007/04/17(火) 00:05:14 ]
- 自分でfnordというのと、cherokeeというのを見つけました。
- 233 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 17:08:14 ]
- >>228
それ俺も怖い。 pollで書き込み可能になってwriteしたらEAGAINとか poll->読み込み可能->readでEAGAINとか。 似たようなことをここで聞いたらソース嫁ってずーっと前にいわれた。まだ読んでない。 だから一応read/writeでもEAGAINをチェックしてる。
- 234 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 22:18:12 ]
- アトミックじゃないんだからEAGAINになる可能性はあるだろ。
- 235 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 22:31:40 ]
- MS系のAsync〜はrecvで読み込んでる最中にさらに
データが到着したら、次回のイベントは発火するけど、 データ自体は今回のrecvで帰ってくることがある(ので 次回recvしても読めないこともある)、ってMSDNあたり で見た気がする
- 236 名前:226 mailto:sage [2007/04/17(火) 23:35:23 ]
- 229のいう通りとりあえず全部やっておくのが安全ですね・・・。
|

|