- 1 名前:デフォルトの名無しさん mailto:sage [2010/12/25(土) 22:46: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辺り 足りなかったら適当に付け足してね 前スレ ネットワークプログラミング相談室 Port26 hibari.2ch.net/test/read.cgi/tech/1269343909/ 関連スレ ネットワークプログラミング雑談 hibari.2ch.net/test/read.cgi/tech/1235800707/ Java ネットワークプログラミング 【教えて!】 hibari.2ch.net/test/read.cgi/tech/1086238859/
- 331 名前:デフォルトの名無しさん mailto:sage [2011/06/12(日) 17:08:38.36 ]
- 伊藤さんの損失は大きいね。亀プロも解散しちゃったし。日本がネット技術で先端を開く芽を失った。
爺さんじゃなかったはずだけど持病でもあったのかな? プログラマとか持病多いからなあ。 ipv4聡明期の村井さんとか砂原さんじゃこれから20年とかとても戦えないからなあ。 ウィンドウズ95の発売で一気に一般化したipv4から16年か。もうアドレス枯渇で役目を終えようとしてるけど。
- 332 名前:デフォルトの名無しさん mailto:sage [2011/06/12(日) 20:10:01.48 ]
- >>331
自。なぜかわしらない。当時はIPv6の話をしても誰も聞く耳をもたなかったからか?
- 333 名前:デフォルトの名無しさん mailto:sage [2011/06/12(日) 21:30:06.79 ]
- wiereshark について聞いていいですか
非同期のUDP による送受信プログラムを一台のPC で検証しています パケットモニタしたいと思いフィルタリングで ip.addr == 127.0.0.1 && udp.port == 5030 として、applyするのですが、パケットがキャプチャーできません、何処か間違ってますか?
- 334 名前:デフォルトの名無しさん mailto:sage [2011/06/12(日) 21:34:47.94 ]
- インターフェースの指定は合ってる?
-i lo
- 335 名前:デフォルトの名無しさん mailto:sage [2011/06/12(日) 21:36:35.68 ]
- ↓これくらいの検索キーワードをすぐに思いつかない奴がネットワークプログラミングする事が間違っている。
windows wireshark loopback
- 336 名前:デフォルトの名無しさん mailto:sage [2011/06/12(日) 21:42:51.49 ]
- >>335
鼻息荒いな 夕飯食ったか?
- 337 名前:デフォルトの名無しさん mailto:sage [2011/06/12(日) 21:50:13.06 ]
- >>336
>>335はツンデレだろ
- 338 名前:デフォルトの名無しさん mailto:sage [2011/06/13(月) 00:51:32.24 ]
- >>336そろそろ お夜食の時間です。
- 339 名前:デフォルトの名無しさん mailto:sage [2011/06/13(月) 06:42:03.58 ]
- カルシウムやストロンチウムを採ると心が落ち着きますよ
- 340 名前:デフォルトの名無しさん mailto:sage [2011/06/13(月) 08:07:17.04 ]
- アダマンチウムを摂取して 今よりもっと強くなりたい
- 341 名前:デフォルトの名無しさん mailto:sage [2011/06/13(月) 13:01:08.23 ]
- カルシウム単体では吸収率低いよ。タンパク質が必要。
人間の身体はコンピュータほど単純ではないよ。
- 342 名前:デフォルトの名無しさん mailto:sage [2011/06/13(月) 14:07:39.84 ]
- >>341
ミルクはカルシウムが、野菜はビタミン豊富、大豆はタンパク質 バランスも大切。
- 343 名前:デフォルトの名無しさん mailto:sage [2011/06/13(月) 14:33:50.79 ]
- おまいらの場合は亜鉛の方が重要だろ
注入量以上を毎日放出してんだから
- 344 名前:デフォルトの名無しさん mailto:sage [2011/06/14(火) 02:55:53.87 ]
- ミルクは実は吸収率悪い。量は取れるけどね。カルシウム過多でも問題あるので注意。
- 345 名前:デフォルトの名無しさん mailto:sage [2011/06/14(火) 03:00:02.73 ]
- 亜鉛中毒もきついと聞くな
- 346 名前:デフォルトの名無しさん mailto:sage [2011/06/14(火) 08:47:45.68 ]
- 日本じゃ牛乳飲んでもおっぱいでかくならんよ
- 347 名前:デフォルトの名無しさん mailto:sage [2011/06/16(木) 06:47:06.62 ]
- ビタミンD
- 348 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 01:22:04.15 ]
- 質問です。
今日、SFの本を読んでいて思ったんですが、 例えば10年後に火星に基地が出来たとします。 その基地と通信する場合にTCPを使ったとすると、 パケット一個届けるのに20分くらい。 ACKが帰ってくるのに20分くらい。 通信状態が悪いでしょうから、パケットが消えて 再送したりするとすごく大変じゃないですか。 そこで一つのPCにNICを5個つけて、 送信したいデータをRAID6のような形にパリティつけて分割した後、 5つのNICから送信先に向かって一度に送ってしまえば、 受信側でいくつかデータが欠損していても復元できて幸せと 思ったんですけど、そんなプロトコルというか仕組みって有るんでしょうか?
- 349 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 01:27:29.74 ]
- はやぶさとかあかつきはどうやってんのかな
- 350 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 01:31:51.58 ]
- >>348
つ TTCP
- 351 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 01:38:58.59 ]
- >>350
>TTCP ググってみましたけれど、 T/TCPのことですよね。 これってネットワーク環境が良くないと使えないのでは? 僕は、宇宙と通信する場合を想定しているんですけれど... ↑電波な発言だな〜
- 352 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 03:27:01.15 ]
- 伝播どうこうより「宇宙と通信」が言葉として既におかしいというか誤解を招く
- 353 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 04:39:26.45 ]
- すいません。
じゃあ、宇宙等極限環境下でのネットワーク環境についてですね。
- 354 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 05:29:46.79 ]
- 所詮2chの名無しなんて
俺が何を作ろうと、煽り続けるんだろう 相手してるとつかれるんよ
- 355 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 05:47:36.33 ]
- >>354
おまえも名無しだろ。
- 356 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 10:17:12.52 ]
- >>348
パケットの遅延については、あなたの使ってる TCP でも ACK を待たずに次の パケットを送ってしまい、間違ってたらそのパケットのみ再送すると言う制御 をしている。(tcp window と tcp selective ack とかでググルといいかも。) 誤り制御はわざわざ別チャネルにする必要はないので、通信データ自体に冗長 化データを付加して誤り訂正するようにしている。 複数チャネルを使うと言うのは MIMO とか link aggregation 等の技術がある けど、基本的に高速化のための技術。
- 357 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 10:18:30.45 ]
- ていうか宇宙と通信するのに通信路が複数ある可能性は無いよね。
- 358 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 11:13:24.80 ]
- >>357
「宇宙と通信」は >>352 が言う通り意味がよくわからんが、 はやぶさは3本の通信路を持ってたよ。 て言うか通信路1本だけって、怖すぎだろ。
- 359 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 11:46:10.75 ]
- >>358
3本もあったのか・・・ 1本は直通だとして、残りの2本はどことどこ経由? やっぱ火星のアンテナ経由するのかな
- 360 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 11:46:37.88 ]
- 100mbpsでも物理想は4本の撚り線使ってた気がするけど。
- 361 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 13:03:19.73 ]
- >>359
直通って...、流石に宇宙と通信しようとしてる奴は違うな (w マジレスしとくと、低利得アンテナ (8bps)、中利得アンテナ (32bps)、 高利得アンテナ (4Kbps) の3系統。
- 362 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 13:27:30.68 ]
- >>356
>>357 >>358 >>359 >>360 おお、皆さんありがとうございます。 僕が思ったのは、惑星間航行が普通に行われるようになっても これだけ普及したIPという仕組みは無くならないと思うんですよね。 でも、TCPだとちょっと?機能が足らないと思ったんですよ。 パケットの送信に何十分もかかる状態なら、 いっそパケットを多重化してしまえば再送が必要ないんじゃないかなと。 別チャネル?にしたらいいんじゃないかなと思ったのは、 通信路が複数有ったら一本磁気嵐とかでデータが飛んでも リカバリできるんじゃないかなと。 どちらかというと絶対確実に届くUDPの方が近い気がしてきた。 そういう仕組みって誰も考えたことないのかなぁ。 ガンダムとかだと、 AMBACとか細かい設定まで有るのに。 まぁ、あの世界だとニュータイプがいるからいいのかな。
- 363 名前:デフォルトの名無しさん [2011/06/19(日) 13:54:57.28 ]
- >>362
先ずはIPとかTCPとかよりもっと低位層のが問題では?
- 364 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 13:55:27.15 ]
- >>362
> どちらかというと絶対確実に届くUDP 色々考えるのはいいことだと思うが、まず基礎からちゃんと勉強して おくことをお勧めする。 でないと、まともな人から相手されなくなるよ。
- 365 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 14:17:31.32 ]
- わかりました。
勉強してきます!
- 366 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 14:25:48.06 ]
- よーし、じゃあ俺も!
- 367 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 14:51:58.33 ]
- >>364
お前は日本語を勉強しろよ・・・ それはたとえの部分だろ
- 368 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 15:41:46.66 ]
- >>362
そんなことはずっと昔にわかっている・・・というか、 昔は遅延が大きかったので、遅延が発生するのが前提で設計されていた。 それを遅延が無いのを前提で使い倒すようになったのは最近の話。 数時間〜数日単位の遅延が発生する場合でも、Windowsサイズを大きくして、 タイムアウトを長くとれば、それなりにちゃんと動くはず。 もちろん遅延が大きいので、アプリケーションレイヤのプロトコルは それなりに設計していないと使い物にはならない。 エラー訂正などについては、物理層の仕事。
- 369 名前:デフォルトの名無しさん [2011/06/19(日) 15:45:51.10 ]
- 受信済みのデータを削除する方法を教えてください。
今までは空読みしてたんですが、どう考えてもこれって無駄ですよね。 なにかいい方法ありますか?
- 370 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 16:09:16.84 ]
- >>367
例えだからと言って、堂々と間違い書いてたら相手にされなくなるぞ。
- 371 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 16:21:02.62 ]
- >>368
そういうことを言いたいんじゃないんですよ。 例えば火星で人が病気にかかったとして、 地球に対して、治療方法を聞くとするでしょ。 もし、パケットが不着だと、再送するだけでも40分かかる。 それは、windowサイズやタイムアウトを長くとっても 回避できますか? エラー訂正が物理層の仕事なら、 なんでTCPに再送制御の仕組みが備わってるんですか? パケット自体を冗長化するようなアプローチが有っても良いんじゃないんですか? ってことです。
- 372 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 16:26:50.99 ]
- deep space networkでぐぐれ
- 373 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 16:27:34.94 ]
- 絶対確実に届くUDPがあったらいいなぁっていう鼻血だろ
そんなことも言ってはいけないって言葉狩りじゃまいか
- 374 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 16:32:38.11 ]
- >>371
>エラー訂正が物理層の仕事なら、 >なんでTCPに再送制御の仕組みが備わってるんですか? 物理層で訂正できないエラーが発生するから。 >パケット自体を冗長化するようなアプローチが有っても良いんじゃないんですか? パケットと言うのがどこを指しているのかよくわからんけど、TCP レイヤーの パケットを言っているなら、そう言うアプローチは無意味だから。
- 375 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 16:34:33.18 ]
- >>373
>そんなことも言ってはいけないって言葉狩りじゃまいか 誰も言ってはいけないなんて書いてないと思うが。 ただ相手にされなくなるだけで。
- 376 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 17:03:33.12 ]
- >>374
>パケットと言うのがどこを指しているのかよくわからんけど、TCP レイヤーの >パケットを言っているなら、そう言うアプローチは無意味だから。 なぜ無意味なの? 誰か実験したの?
- 377 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 17:06:24.90 ]
- 物理的にパケットが届くのに20分かかるなら
なにをどうしても「不着」が発生したら40分のロスは生じる まずは物理的なレイヤーで、光速を超える通信ができる技術を考えてくれ それが無理なら、結局は最悪遅延すること前提で設計するしかない
- 378 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 17:11:32.04 ]
- >>375
SCTPの説明をするときよくそういう言い方する
- 379 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 17:25:32.70 ]
- >>376
物理層と同じ機能を TCP レイヤーで持ってもしょうがないから。 それは間違っているとか、すげーいい方法考えたとか言うなら、 それこそ実験や理論で証明するなりすればいいと思う。
- 380 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 19:39:09.66 ]
- >>371
>例えば火星で人が病気にかかったとして、 >地球に対して、治療方法を聞くとするでしょ。 なんでわざわざ地球に聞くの? 火星にいる人に聞けば問題ないのに。 え?火星で解決できなかったからだって? 事前に想定した事態に対する荷物しか用意していないし、 事前に用意した荷物なら使い方を知っているし、 その範囲でどうにかできないなら、同意ようもない。
- 381 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 19:43:26.21 ]
- >>371
>もし、パケットが不着だと、再送するだけでも40分かかる。 >それは、windowサイズやタイムアウトを長くとっても 解決できるよ。ちゃんと40分後に再送され、運が良ければ60分後に届く。 >なんでTCPに再送制御の仕組みが備わってるんですか? 物理層以外でデータをロストする可能性があるから。
- 382 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 19:47:04.06 ]
- >>371
>パケット自体を冗長化するようなアプローチが有っても良いんじゃないんですか? あるよ。アプリケーションレベルで好きに実装すればよい。 IP電話なんかは、一部のパケットが無くなっても問題ないようになってるし。
- 383 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 19:47:35.41 ]
- >>380
バカが考えた例え話は突っ込みどころ満載だから、バカは例え話しない方が良いぞ。 事前に用意した荷物をどの組み合わせと順序で使えばいいか。
- 384 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 20:03:29.53 ]
- >>362
> パケットの送信に何十分もかかる状態なら、 > いっそパケットを多重化してしまえば再送が必要ないんじゃないかなと。 別チャンネルにする必要はなくって、物理層が冗長符合を大量に持って 謬り訂正すればいいだけじゃね? 誰かも書いてたけど再送要求でてもそれが届くのは数十分後 > どちらかというと絶対確実に届くUDPの方が近い気がしてきた。 絶対確実に届かないのがUDP つか、エラーパケットは積極的に捨ててる実装しかみたことがない
- 385 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 20:07:43.20 ]
- >>380
ねえ、ネタでやってるの? >>371 の例えもどうかと思うが、そんなとこに突っ込みいれる君はそれ以上だよ。 >>382 > IP電話なんかは、一部のパケットが無くなっても問題ないようになってるし。 全然違う話を持ってくるなよ...。
- 386 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 20:08:36.36 ]
- >>361
ありがとう。謎が解けた。なんとかなりそう。
- 387 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 21:49:09.41 ]
- パケットのじょうちょうか
- 388 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 21:57:18.89 ]
- すまん。iPhoneなもんで間違って送信ボタンに当たった。
パケットの並列送信による冗長性確保に付いて言いたい事があるが、また後でな。
- 389 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 22:56:18.77 ]
- >>373
> そんなことも言ってはいけないって言葉狩りじゃまいか そんな考えは無駄だってことを、 Token Ringや100VG AnyLANやATMが教えてくれたんですよ。
- 390 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 23:11:46.30 ]
- 冗長化よりも行間(パケット間)を読み取る能力が大事と言うことですね
- 391 名前:デフォルトの名無しさん mailto:sage [2011/06/20(月) 15:12:18.40 ]
- 気になったけど、ウィンドウサイズ大きいほうがエラーで廃棄される確率高いと思うけどな。
再送に40分かかる距離として、どれだけ冗長に送っておいたほうがスループットいいのかは検証が必要だ。
- 392 名前:デフォルトの名無しさん mailto:sage [2011/06/20(月) 15:16:24.89 ]
- 「思う」って言われても…
それは通信路の性質によるし。 帯域は太い、しかしラウンドトリップタイムが大きい通信路で、 転送効率上げるにはウィンドウを大きくするのは定石で、 今のTCPにもヤコビソン先生が衛星回線用に書いたロジックが入ってる。
- 393 名前:デフォルトの名無しさん mailto:sage [2011/06/20(月) 16:57:30.41 ]
- なんのためにLGAMGAHGA三段階にしてあると思ってるんだこいつ
- 394 名前:デフォルトの名無しさん mailto:sage [2011/06/20(月) 17:51:12.84 ]
- じゃあそれぞれのパケットドロップ率を描いてくれよw
- 395 名前:デフォルトの名無しさん mailto:sage [2011/06/20(月) 18:01:27.02 ]
- >>394
T・C・P! T・C・P!
- 396 名前:デフォルトの名無しさん mailto:sage [2011/06/20(月) 21:47:17.93 ]
- >>395
mopera経由の通信モニターしてると結構TCPセグメントが焼失して再送が発生してるわけだが
- 397 名前:デフォルトの名無しさん mailto:sage [2011/06/20(月) 23:25:34.74 ]
- >>396
だったらそのTCPくっつけて見られるようにしてくれよ
- 398 名前:デフォルトの名無しさん mailto:sage [2011/06/21(火) 00:32:50.51 ]
- くだらん話が続いてるな。
- 399 名前:デフォルトの名無しさん mailto:sage [2011/06/21(火) 05:58:59.22 ]
- ドコモのデータ通信程度でも5パケットに一回程度はエラーで再送されてたりするのかな?
家政往復なんて1万個パケット送って1こと独程度だったりしてw
- 400 名前:デフォルトの名無しさん mailto:sage [2011/06/21(火) 11:29:59.74 ]
- それは通信路、通信相手による。
パケットのロスはほとんど輻輳なんだから。 はやぶさなんか専用線なんだから輻輳ロストなんてほぼ0。 通信路の性質上、バーストロストは頻度高いだろうけど。 ただこういうのは、土方プログラマーが考えることじゃない。 最低でもStevens本くらい読みこなしてないと考える意味がない。
- 401 名前:デフォルトの名無しさん mailto:sage [2011/06/21(火) 11:32:49.07 ]
- 専用線っていえば、そうなんだろうけど
- 402 名前:デフォルトの名無しさん mailto:sage [2011/06/22(水) 09:47:59.90 ]
- >>400
専用線なんだっけ? あれって他の人は使ってないの?
- 403 名前:デフォルトの名無しさん mailto:sage [2011/06/22(水) 11:33:42.58 ]
- データ受ける側は世界中にいるけどな
- 404 名前:デフォルトの名無しさん mailto:sage [2011/06/22(水) 21:32:14.30 ]
- >>388
>すまん。iPhoneなもんで間違って送信ボタンに当たった。 >パケットの並列送信による冗長性確保に付いて言いたい事があるが、また後でな。 まだ〜?
- 405 名前:デフォルトの名無しさん mailto:sage [2011/06/23(木) 02:48:07.33 ]
- マカってホント情報弱者だな。
- 406 名前:デフォルトの名無しさん mailto:sage [2011/06/23(木) 08:43:12.98 ]
- マカってホント肉体疲労・虚弱体質な人向けネットワークプログラムに向いてるよね。
- 407 名前:デフォルトの名無しさん mailto:sage [2011/06/23(木) 11:05:34.92 ]
- >>402
何を言っているのだ、お前は。
- 408 名前:デフォルトの名無しさん mailto:sage [2011/06/23(木) 12:35:19.83 ]
- >>407
はやぶさとの通信の話だよ
- 409 名前:デフォルトの名無しさん mailto:sage [2011/06/23(木) 13:34:59.86 ]
- はやぶさの近くに同じ周波数帯を使う物体が飛んでいるのか?
- 410 名前:デフォルトの名無しさん mailto:sage [2011/06/23(木) 13:38:23.97 ]
- はやぶさに偽指令って送ることは可能だった?
- 411 名前:デフォルトの名無しさん mailto:sage [2011/06/23(木) 14:16:46.03 ]
- >>410
可能だった。
- 412 名前:デフォルトの名無しさん mailto:sage [2011/06/23(木) 14:51:23.10 ]
- 楕円暗号とかの署名付けて送らないと無視するぐらいの機能はついているべきだな。
- 413 名前:デフォルトの名無しさん mailto:sage [2011/06/23(木) 16:26:03.54 ]
- 「楕円暗号復号回路が壊れました!署名を検証できません!」
「こんなこともあろうかと、署名無してもコマンドを受けつけるようにしておいたんだ!」
- 414 名前:デフォルトの名無しさん mailto:sage [2011/06/23(木) 23:09:50.11 ]
- >>406 せつこ それ ネットワークビジネスや
- 415 名前:デフォルトの名無しさん mailto:sage [2011/06/24(金) 00:34:17.50 ]
- あまりにも通信状態が悪くて署名で付けた楕円暗号が毎回エラーで、タイミング会わずに軌道に乗れずに宇宙の彼方に飛んでいったってのはあるだろうなw
- 416 名前:デフォルトの名無しさん mailto:sage [2011/07/02(土) 15:19:04.55 ]
- UDP通信でNat越えしたいんですが、
パケット、セッションについて教えてください。 ネットでサンプルプログラムを見ると、クライアント側では while( true ) { 送信処理(サーバへ) 受信処理(送信処理で使ったsockaddrを使用) } こんな感じになっているんですが、このときの送信処理というのは何回も 必要なのでしょうか? また、発信元ポートというのは、宛先が同じ間でも変わることがあるのでしょうか? ちなみにNat越えはNat内のクライアントと外部のサーバ間を想定しています。
- 417 名前:デフォルトの名無しさん mailto:sage [2011/07/02(土) 20:39:00.59 ]
- >>416
> こんな感じになっているんですが、このときの送信処理というのは何回も > 必要なのでしょうか? NATやってるルーター次第 > また、発信元ポートというのは、宛先が同じ間でも変わることがあるのでしょうか? バークレイソケットインターフェースだとよほどの変態実装でない限り socket()で作られた発信元ポートは変化しないと思われる
- 418 名前:天使 ◆uL5esZLBSE mailto:sage [2011/07/03(日) 12:40:19.28 ]
- これ ; デリミタっていうんだけどさ、これをつけなきゃエラーになるような
そんな言語使ってる奴ってどうみてもゴミだと思うんだけど もしかして「;」これ打ち忘れてコンパイルエラー出すのが楽しいの? そうか、二度と話かけんなよ きも
- 419 名前:デフォルトの名無しさん mailto:sage [2011/07/03(日) 21:45:44.14 ]
- (^_^;)
- 420 名前:デフォルトの名無しさん mailto:sage [2011/07/03(日) 21:58:31.57 ]
- デリミタ=区切り文字だから、改行で意味が区切られる言語も対象ってことは・・・
アセンブラか 流石にそこまでローレベル言語は使いたくないな
- 421 名前:デフォルトの名無しさん mailto:sage [2011/07/03(日) 23:44:05.45 ]
- すれ違いのマルチは死ねばいいが
pythonの「:」も存在価値が微妙
- 422 名前:416 mailto:sage [2011/07/04(月) 00:19:35.96 ]
- >>417
ありがとうございます。 とりあえず、送信と受信は別スレッドにして良さそうですよね?
- 423 名前:デフォルトの名無しさん mailto:sage [2011/07/04(月) 09:18:14.46 ]
- Rubyの行継続ルールは微妙
- 424 名前:デフォルトの名無しさん mailto:sage [2011/07/04(月) 11:08:54.00 ]
- rubyはうんこだからしかたない。
というかネットワークには関係ない言語だからスレ違いだろう。
- 425 名前:416 mailto:sage [2011/07/05(火) 08:29:00.96 ]
- 416の内容でクライアントがVPNを利用して、
DMZ内にあるサーバと通信する場合だと、 416のやり方でも大丈夫でしょうか? ちなみにVPNはCiscoのIPsecを使っています。 NAT トラサーバルとか、良くわかりません。。
- 426 名前:デフォルトの名無しさん mailto:sage [2011/07/05(火) 09:38:52.80 ]
- >>425
わからないなら学べ。勉強しろ。
- 427 名前:デフォルトの名無しさん mailto:sage [2011/07/05(火) 17:22:13.84 ]
- vpn糞遅いからな。sslしてるのと変わらない。
- 428 名前:デフォルトの名無しさん mailto:sage [2011/07/05(火) 19:26:37.46 ]
- >>427
根拠は? IPsec なら専用ハード積んでる GBE だと wire rate でるんだが?
- 429 名前:デフォルトの名無しさん mailto:sage [2011/07/05(火) 19:32:50.94 ]
- 大丈夫だ、問題ない。
- 430 名前:デフォルトの名無しさん mailto:sage [2011/07/06(水) 09:56:55.51 ]
- >>428
専用ハードをツンデレ場だろ。 うちのPCはツンデレ場が無いよ
- 431 名前:416 mailto:sage [2011/07/06(水) 20:09:59.35 ]
- VPNですが、サーバまでは通信されましたが、
戻りの通信が出来ませんでした。 クライアント側は3G回線+VPNです。 これって、VPNのASAとかの問題でしょうか?
- 432 名前:デフォルトの名無しさん mailto:sage [2011/07/06(水) 20:59:42.32 ]
- >>431
どこでマミられたかわからないとデバッグできないぞ ルータでドロップ全部ログる設定にしてやりなおしてみたら?
- 433 名前:デフォルトの名無しさん mailto:sage [2011/07/06(水) 21:23:18.34 ]
- 一番いい装備で頼む。
- 434 名前:416 mailto:sage [2011/07/06(水) 22:57:57.99 ]
- >>432
確かにデバッグが必要ですよね。。 本番の環境しかないため、自分の権限では、ここから先は出来ません>< テスト用の環境作るにも機材が必要になるので、厳しそうです。 とりあえず、当初の目的だった、外部サーバとNAT内のクライアントで通信が 出来ればよしとします。。
- 435 名前:デフォルトの名無しさん mailto:sage [2011/07/07(木) 00:18:48.32 ]
- >>434
よかったな。 もしもテスト環境をポンと渡されたらと思うとぞっとするわ
- 436 名前:デフォルトの名無しさん mailto:sage [2011/07/08(金) 04:57:51.84 ]
- >>435
あぁ本当に。 「治るまで作業してていいからね♪」ってサーバー室に閉じ込められた事ならある。 よくよく調べたら、ネットワーク構成図には書かれていないファイアウォール・・・。 使っていたクライアントOSが、何故か毎回同じクライアントポート番号で 接続しに行く不思議仕様だったため、ファイアウォールにたたき落とされていた。
- 437 名前:デフォルトの名無しさん mailto:sage [2011/07/08(金) 07:28:38.32 ]
- セキュリティ嬢どこにファイヤウォールとか入れてるかは明示しないのが普通。
どこで図面漏れるか分からないし。口頭でファイヤウォール入ってないのか確認しなかったのが敗因だな。 むしろなりすましを考慮されてない実装なのが(ry
- 438 名前:デフォルトの名無しさん mailto:sage [2011/07/09(土) 10:10:33.94 ]
- エンジニアリング的におかしいだろ
- 439 名前:デフォルトの名無しさん mailto:sage [2011/07/09(土) 15:09:03.29 ]
- UDPで、一度に大きなサイズのデータ(数十万バイト)は送れないのですが
具体的に、最大どれくらいのサイズまでならば可能なのでしょうか?
- 440 名前:デフォルトの名無しさん mailto:sage [2011/07/09(土) 15:10:38.66 ]
- 500〜1500バイトくらい
- 441 名前:デフォルトの名無しさん mailto:sage [2011/07/09(土) 15:37:20.88 ]
- >>439です
>>440thxです 現在winsock で 320×240×23=230400バイトのフレームバッファーを、 1492バイトで分割して、UDPで下記のサイズに分割送信しています 1492×154回 632×1回 受信側で、分割して送られてきたデータを、230400バイトに、再構築するつもりなのですが、 考え方は間違っていないでしょうか?
- 442 名前:デフォルトの名無しさん mailto:sage [2011/07/09(土) 15:39:43.70 ]
- 失礼
×320×240×23=230400バイト ○320×240×3=230400バイト
- 443 名前:デフォルトの名無しさん mailto:sage [2011/07/09(土) 15:45:13.94 ]
- >>441
UDPは送った順に届くとは限らないということは理解してるよね?
- 444 名前:デフォルトの名無しさん mailto:sage [2011/07/09(土) 15:48:28.15 ]
- 送った順に到着しない
送ったものが届かない 分割して送るなら ヘッダに通番つけといて 上記2点を考慮することになるが… 再送処理とかしだすと、TCPじゃだめなの?って話になる
- 445 名前:デフォルトの名無しさん mailto:sage [2011/07/09(土) 16:07:55.46 ]
- >>441です、お世話になります
>>443 はい、それは理解できています >>444 TCP/IPの送受信実験はすでに成功しており、UDPによる、送受信の実験がうまくできないので 数週間、チャレンジしていますが、手がかりがなくて模索しています。 >>分割して送るなら ヘッダに通番つけといて ここら辺のことをお聞きしたいのですが、単純に考えますと 例えばデータ構造を stract UDP{ unsigned int serial; char data[1492]; }; このようなことが、考えられると思います しかし、これでは、UDPなので、所詮投げっぱなしのデータなわけですよね そこで、通し番号はTCP/IPの3way handshake で送り その後、UDPでデータを送るというような、アルゴリズムになるのでしょうか? それから、2230400のデータですが 1492×154回 632×1回 こんな送り方より 1440×160回の方が、単純で再構築もしやすいですね^^;
- 446 名前:デフォルトの名無しさん mailto:sage [2011/07/09(土) 16:12:27.19 ]
- ごめんなさい、また間違えました
×それから、2230400のデータですが ○それから、230400のデータですが スマソ
- 447 名前:デフォルトの名無しさん mailto:sage [2011/07/09(土) 16:29:52.14 ]
- UDPのデータにそういうふうに番号を付けて、
「何番までのデータは受け取った」とか「何番のデータはまだ来てない」とかそういう返事を受信側から送信側に送り返す それを見ながら、未着の(たぶん失われたと思われる)データをもう一度送る 返事も失われることがあるので、何秒か返事がなかったら同じものをもう一度送る 「全部受け取った」という返事が来れば終了
- 448 名前:デフォルトの名無しさん mailto:sage [2011/07/09(土) 16:43:47.79 ]
- >>447
ありがとう 実装してみます
- 449 名前:デフォルトの名無しさん [2011/07/09(土) 17:02:16.53 ]
- TCPじゃだめなの?
- 450 名前:デフォルトの名無しさん mailto:sage [2011/07/09(土) 17:17:30.04 ]
- >>449
>>445です マルチキャストの実験もしてみたいので、TCPではムリポなのでUDPに拘っています^^;
- 451 名前:デフォルトの名無しさん mailto:sage [2011/07/09(土) 17:55:46.30 ]
- マルチキャストで複数(多数)の受信者から違うパケットの再送要求が来たらどうするつもりなんだろう
- 452 名前:デフォルトの名無しさん mailto:sage [2011/07/09(土) 17:57:48.84 ]
- 仮にどうにかできたとして
果たしてそれはマルチキャストと言えるのだろうか
- 453 名前:デフォルトの名無しさん mailto:sage [2011/07/09(土) 18:24:30.11 ]
- >>451>>452
>>448です そうですね、やはりapache の実装のように、子プロセスのインスタンスを生成し 管理するような、システムを構築するべきでしょうね
- 454 名前:デフォルトの名無しさん mailto:sage [2011/07/10(日) 17:16:36.87 ]
- >>452
パソコンサンデー的なものになると思う。 マルチキャストでネトゲのパッチ配布実験とかしてなかったっけ。もちろん実験だけで実用にはならんけど。
- 455 名前:デフォルトの名無しさん mailto:sage [2011/07/10(日) 18:54:57.63 ]
- まずTCPのセッションを複数張って実装してみて、
それで駄目ならUDPとかマルチキャストとか考えるべき。 大抵TCPで何とかなる。動画サイトを見ろ。
- 456 名前:デフォルトの名無しさん mailto:sage [2011/07/10(日) 18:56:06.09 ]
- それから、>>439
確実に知りたければ"Path MTU Discovery"するしかない。 まあ途中に入っているルータが正直に応えるかどうか不明だが。 IPv6の場合はルータの対応が必須だけども。
- 457 名前:デフォルトの名無しさん mailto:sage [2011/07/10(日) 22:06:00.41 ]
- >>456
IPv6でも続々と変なルータやFireWallが増えてきてるので、 PMTUDが通る前提は崩されつつある。嘆かわしいことだ。
- 458 名前:デフォルトの名無しさん mailto:sage [2011/07/10(日) 22:23:44.91 ]
- >>454
マルチキャストとブロードキャストは違うんじゃね? パソコンサンデーはブロードキャストだよね
- 459 名前:デフォルトの名無しさん mailto:sage [2011/07/10(日) 22:37:12.22 ]
- >>458
ipベースのマルチキャストではないけど。。。 言葉の意味を考えると1対Nなので TV放送は全てマルチキャストじゃないの?
- 460 名前:デフォルトの名無しさん mailto:sage [2011/07/10(日) 22:55:19.78 ]
- 無差別なのでTV放送(ブロードキャスト)はブロードキャスト(放送)です。
- 461 名前:デフォルトの名無しさん mailto:sage [2011/07/10(日) 22:58:29.15 ]
- >>459
マルチキャストは1:N、ブロードキャストは1:∞ みたいな感じ と覚えとくといいと思う
- 462 名前:デフォルトの名無しさん mailto:sage [2011/07/10(日) 23:14:54.34 ]
- >>460
ごめんそうだね。。。 馬鹿だ俺
- 463 名前:デフォルトの名無しさん mailto:sage [2011/07/10(日) 23:34:09.23 ]
- 受信料とられるん?
- 464 名前:デフォルトの名無しさん mailto:sage [2011/07/13(水) 20:24:07.81 ]
- WinSockでrecvを実行した場合に
----------------------- 7330 : recv(7330) = 0 ms 13242 : recv(35562) = 0 ms 22320 : recv(22320) = 200 ms ----------------------- (戻り値:recv(受信長) = 所要時間) となった環境でJavaのInputStream.read()をしてみると全受信まで50msほどでした。 そこでrecv毎にrecv(all)して受信のバッファリングなどしてみたのですが、結果は変わらずでした。 APIを直接叩くよりInputStream.read()のほうが速いのはなぜなんでしょうか?
- 465 名前:デフォルトの名無しさん mailto:sage [2011/07/13(水) 20:35:50.97 ]
- はいそうです
- 466 名前:デフォルトの名無しさん mailto:sage [2011/07/13(水) 20:54:59.71 ]
- >>464
ソケットの設定による。 デフォルトでrecvの中でちょっと待つようになってる。 待たないように設定してみるといい。
- 467 名前:デフォルトの名無しさん mailto:sage [2011/07/14(木) 03:06:37.65 ]
- >>466
ack周りかなと思い、それっぽいオプションをsetsockoptで色々設定してみたのですが変わらずでした... もうちょいヒントを頂けると助かります
- 468 名前:デフォルトの名無しさん mailto:sage [2011/07/14(木) 10:03:30.52 ]
- ノンブロックにすればよくね?
- 469 名前:デフォルトの名無しさん mailto:sage [2011/07/14(木) 11:25:55.01 ]
- >>466の言っている遅延タイマがまさに200ms。
Winsockのrecvの馬鹿チョン仕様。
- 470 名前:464 mailto:sage [2011/07/14(木) 22:09:23.33 ]
- >>468
やってみましたがダメでしたorz >>469 Nagleアルゴリズムの事であれば無効の試行済みです。
- 471 名前:デフォルトの名無しさん mailto:sage [2011/07/15(金) 22:58:02.53 ]
- 信頼性の高いマルチキャストプロトコルで
実装が簡単なのって何がありますか?
- 472 名前:デフォルトの名無しさん mailto:sage [2011/07/17(日) 09:10:13.62 ]
- >>464
いっそ、Javaの標準ライブラリが何をやってるのか、ソースコードを調べてみたら? JDK に付属する src.zip にJava部分が、「Java SE 6 JDK Source Code」に C/C++ 部分があると思う。
- 473 名前:464 mailto:sage [2011/07/18(月) 00:54:34.43 ]
- >>472
そんな物があったのとは! やってみます。ありがとうございました
- 474 名前:デフォルトの名無しさん [2011/07/20(水) 11:49:04.57 ]
- time.nist.govと同期がとれないと起動できないソフトを使用期限解除して
使うようにするにはどうしたらいいですか? www.dotup.org/uploda/www.dotup.org1808412.zip.html
- 475 名前:デフォルトの名無しさん mailto:sage [2011/07/20(水) 12:01:15.76 ]
- >>474
time.nist.govを買い取って、好きな時刻に設定すればいい。
- 476 名前:デフォルトの名無しさん mailto:sage [2011/07/20(水) 12:50:02.17 ]
- NTPサーバを用意してhostファイルでtime.nist.govにそのIPアドレスを指定する
- 477 名前:デフォルトの名無しさん mailto:sage [2011/07/20(水) 14:48:41.35 ]
- >>474
逆アセしてそのチェックして分岐させているところを書き換えるといいよ
- 478 名前:デフォルトの名無しさん [2011/07/20(水) 14:50:14.36 ]
- winsockのsend関数で
char buf[100]のものを送るとしたら実際に送られるデータは何バイトになるのですか?
- 479 名前:デフォルトの名無しさん mailto:sage [2011/07/20(水) 14:56:00.83 ]
- >>478
それにTCPヘッダとIPヘッダを足した大きさ それぞれのサイズは忘れた
- 480 名前:デフォルトの名無しさん mailto:sage [2011/07/20(水) 15:13:20.37 ]
- なるほどありがとうございます
- 481 名前:デフォルトの名無しさん mailto:sage [2011/07/20(水) 17:24:56.66 ]
- どの層を気にしているかによるが、
データリンク層のヘッダにも注意。
- 482 名前: 忍法帖【Lv=12,xxxPT】 mailto:sage [2011/07/20(水) 17:42:59.21 ]
- >>478
64 + strlen(data)
- 483 名前:デフォルトの名無しさん mailto:sage [2011/07/25(月) 08:49:02.56 ]
- >>478
環境や状況による。 Ethernetなら+TCPヘッダ+IPヘッダ+MACフレームになる。 PPPoE経由でPPTPVPN使ってたりすると、さらに幾つもヘッダがつく事になる。 他のTCPやUDP通信とまとめて、一つのIPパケットにのる場合もある。
- 484 名前:デフォルトの名無しさん mailto:sage [2011/07/25(月) 10:57:00.71 ]
- >>483
>他のTCPやUDP通信とまとめて、一つのIPパケットにのる場合もある。 こんなことあるのか?
- 485 名前:デフォルトの名無しさん mailto:sage [2011/07/25(月) 11:15:33.24 ]
- ありえねーって突っ込もうとしたけど、>>483特製トンネルならばありうるから止めた。
- 486 名前:デフォルトの名無しさん [2011/07/25(月) 11:39:48.33 ]
- 「他のsend関数でカーネルに渡したデータと一緒に」
ならTCPでは有りうる。
- 487 名前:デフォルトの名無しさん mailto:sage [2011/07/25(月) 11:44:54.64 ]
- >>486
UDPも入ってるから、その可能性は却下。
- 488 名前:デフォルトの名無しさん mailto:sage [2011/07/25(月) 11:53:01.80 ]
- 誰がどう言ったかとか興味ない。
>>478の質問に即してレスした。
- 489 名前:デフォルトの名無しさん mailto:sage [2011/07/25(月) 16:10:21.68 ]
- >>487
TCPでは って言ってんだろ・・・
- 490 名前:デフォルトの名無しさん [2011/07/25(月) 16:12:23.06 ]
- > 他のTCPやUDP通信とまとめて、一つのIPパケットにのる場合もある。
- 491 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 00:00:54.77 ]
- 既にハンドシェイクされて確立されたTCPコネクションがあって
そこにパケットを入れ替えるのではなく追加するというのは可能なのですか? 任意のパケットをNICに入れるのはこの際問題にしなくていいです(それは出来る) TCPプロトコルがいまいちよくわからない パケットをそのまま入れればいいって問題じゃないですよね? ACKとかシーケンス番号とかも揃えないといけない? となるとACKの区切りを検出して、自分のデータのACKのやりとりを丸々入れないけないのですかね?
- 492 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 00:16:12.93 ]
- TCPハイジャックだっけ
- 493 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 00:25:12.33 ]
- >>491
そうです 以上
- 494 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 00:26:16.72 ]
- めんどくさそうだから別の方法でやろう
- 495 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 00:35:28.95 ]
- 難しそうなので僕には出来ませんだろ
- 496 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 00:53:09.47 ]
- 難しいことをやり遂げるのが主目的じゃない
簡単な方法があるならそれを使うまで パケットを直接入れる方が簡単だと言うなら別だけど
- 497 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 09:03:59.82 ]
- せやな
- 498 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 17:17:11.92 ]
- >>491
簡単にはできない。 TCPストリームのデータを中間者が増やした時点で、それ以降のACK/SEQがずっとズレっぱなしになるので、 任意のデータを入れたが最後、その後の通信を全部加工して送らなければならない。 ftpに対応したNATルータがまさにそれをやっている。
- 499 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 17:25:53.75 ]
- へ?
- 500 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 18:05:39.59 ]
- >>496
>>494に難しいだけで簡単だって。 スループット上げるのは容易ではないけども。
- 501 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 18:33:11.54 ]
- 全部TCP/UDPパケットをいったん別のソケットにリダイレクトする方が簡単だろ?
一旦正規のソケットに仲介させることで中身をいじるのは簡単になる 1.接続要求がきたら自分のListenポートに修正 2.本来のポートに普通にコネクションを張る 3.自分のソケットから本来のポートに対するパケットのソースアドレスを元に戻す 4.以後はそのパターンでソースとデスティネーションを書き換え続ける これで完全に仲介したソケットが完成して、本来の接続プログラムが リモホを参照してもちゃんと元のリモホとして認識されるはず これでいけると思うんだけど間違ってるかな? この方法で問題になるのが自分でconnectやacceptする部分であらかじめポート番号を決定できた方が都合がいいんだけど Winsockってそういうことは可能なんだっけ?
- 502 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 18:57:47.69 ]
- 一生懸命説明してるとこ悪いけど、
> 既にハンドシェイクされて確立されたTCPコネクションがあって という前提なので。
- 503 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 19:03:04.84 ]
- >>502
パケットを挿入するという前提があるので、その条件を入れただけですよ
- 504 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 19:16:52.10 ]
- その前提と条件がどう関係するんだよ。
よくわかってないなら、変な条件つけなきゃいいのに...。
- 505 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 19:24:52.51 ]
- >>504
こういうスレではあらかじめかなり条件を絞って質問しないと 毎回毎回、知識ひけらかし君が、その部分をまずやれとか意味不明なことを言い出して それはとっくに出来てるんでとか言うと以後レスしなくなるという そういう経験ばかりしてきてるんで 無駄なやり取りを減らすために条件を絞るくせがついてるですよ
- 506 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 20:03:49.59 ]
- >>501からの流れ
誰が誰やらわからんw
- 507 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 21:49:57.24 ]
- 妖しそうなことやりたいんじゃないの?
- 508 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 21:50:38.63 ]
- >>505
>毎回毎回、知識ひけらかし君が、その部分をまずやれとか意味不明なことを言い出して >それはとっくに出来てるんでとか言うと以後レスしなくなるという 自分のやったことと、前提条件がちゃんと説明できてないからだろ。
- 509 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 22:33:40.45 ]
- >>507
妖しいことも出来ない奴がネットワークを語るなよ そんなレベルの奴に用はねーし 逆にそのレベルに達してきて怪しいことをやったことが無い奴なんて居ない
- 510 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 23:23:28.65 ]
- ホメラレモセズ
クニモサレズ サウイフモノニ ワタシハ ナリタイ
- 511 名前:デフォルトの名無しさん mailto:sage [2011/08/17(水) 01:52:36.11 ]
- おれにはできない。
どういう状況でそんなことやる必要があるのか 知りたい。
- 512 名前:デフォルトの名無しさん mailto:sage [2011/08/17(水) 11:27:32.60 ]
- >>501
それは別のネットワークになるので駄目です。
- 513 名前:デフォルトの名無しさん [2011/08/18(木) 22:05:34.40 ]
- Socket.Send メソッド (Byte[], SocketFlags)
Socket.Send メソッド (IList<ArraySegment<Byte>>, SocketFlags) のSocketFlagsの存在が何故あるのかが良く解らないんです。 SocketFlags.Noneを指定するのなら Socket.Send メソッド (Byte[]) でイイのではないかなぁと思うのですが、サンプル求めてググッてみても SocketFlags.Noneを指定するのが過半なので、どうしてかな〜と疑問に思い質問です。 なんで?
- 514 名前:デフォルトの名無しさん [2011/08/19(金) 00:11:39.24 ]
- Windows上で特定のポートに帯域制限を掛けるプログラムを
C++で組みたいのですが、何から勉強していいかわかりません・・・ 何かいい本かサイトを紹介してくれませんか。 スキルとしては、画像やテキスト処理のコマンドラインプログラムを C++で書ける程度です。
- 515 名前:デフォルトの名無しさん mailto:sage [2011/08/19(金) 01:09:58.09 ]
- >>514
どういう方法でやろうとしているの? 特定のwindowsサーバにインストールして、そのサーバの下にいるwindowsPCに帯域制限をかけたいの? それともwindowsPCにインストールして、インストールしたwindowsPCのみに帯域制限かけたいの? 賢い人達はLINUX使うと思う。 まあ、どういう方法をとるにしろ、 デバドラまで入り込まないと無理だぞ。 今日も眠れぬ青画面の世界までようこそ。 WELCOME!WELCOME!WELCOME!
- 516 名前:デフォルトの名無しさん mailto:sage [2011/08/19(金) 02:47:41.32 ]
- >>512
そうらしい、実際にやってみたがループバックは物理的なネットワークが違うものとして扱われるらしくリダイレクト出来ない。 パケットをいじるだけで同じPC内でプロキシをするのは無理らしい。 しかし、苦労したけど結局プロキシする方法を発見して出来たからもういいのだ。
- 517 名前:デフォルトの名無しさん mailto:sage [2011/08/19(金) 09:44:30.60 ]
- >>514
標準でQoSに対応しているので、有る程度はレジストリ設定だけで 制限できるんだけど、あくまで作るのが目的なの? 作るなら、フィルタドライバとして作るだけだけど。
- 518 名前:デフォルトの名無しさん [2011/08/19(金) 10:13:26.00 ]
- >>515
きもすぎwwwwwwwww
- 519 名前:デフォルトの名無しさん mailto:sage [2011/08/19(金) 19:18:23.78 ]
- >>515
>それともwindowsPCにインストールして、インストールしたwindowsPCのみに帯域制限かけたいの? それです。 >>517 目的達成できるなら手段は問わないです。 具体的にはネットワークカメラを走らせていまして、 プロバイダの30GB/日のUL転送量制限に引っ掛からないように転送量を測って、 20GB超えたら速度制限、25GB超えたらそのポートを遮断 日付が変わったら累積リセット制限解除、ということをしたいのです。 制限を超えるのは極稀な日なので、四六時中制限掛けるのは避けたいですし LAN同士の転送はカウント外にしたいので、ネットワークカメラのポートだけを監視したいわけです。
- 520 名前:デフォルトの名無しさん [2011/08/19(金) 19:44:57.73 ]
- 格ゲーだとフレーム単位でキャラ操作するつわものいるけど
そういった人を満足させるネトゲって可能?
- 521 名前:デフォルトの名無しさん mailto:sage [2011/08/19(金) 19:50:42.91 ]
- ネット対戦できる格ゲーならあるけど、そういう話じゃなくて?
- 522 名前:デフォルトの名無しさん mailto:sage [2011/08/19(金) 20:24:59.54 ]
- フレーム単位で通信する必要ないから可能。
- 523 名前:デフォルトの名無しさん mailto:sage [2011/08/19(金) 21:06:34.70 ]
- >>519
それって速度制限というか、絶対量制限しないといけないんじゃないの? 1フレームの転送量を計って、制限量に達するまでに何フレーム送れるか計算したら? webcam -> localhost:8000 -> internet みたいな感じでlocalhostさんに一度データを送って、localhostさんがwebcamの データを外に中継だけするようにしたらどう?
- 524 名前:デフォルトの名無しさん mailto:sage [2011/08/20(土) 01:28:49.55 ]
- >>520
不可能 小足見てから昇龍とか無理
- 525 名前:デフォルトの名無しさん mailto:sage [2011/08/20(土) 01:31:40.55 ]
- ざ 残像だとっ!
- 526 名前:デフォルトの名無しさん mailto:sage [2011/08/20(土) 03:24:37.45 ]
- >>520
地球の裏側まで光速で何秒かかるか計算してみるといい。 理論最速値でもそこまでの速度しか出ないということに驚愕しろ。
- 527 名前:デフォルトの名無しさん mailto:sage [2011/08/20(土) 08:14:59.99 ]
- >>519
TCP/UDPプロキシでも使ったほうが手っ取り早いんじゃね?
- 528 名前:デフォルトの名無しさん mailto:sage [2011/08/20(土) 08:15:55.13 ]
- >>520
可能。ただし1フレームがネットワークのディレイより長い必要がある。
- 529 名前:デフォルトの名無しさん mailto:sage [2011/08/20(土) 09:59:38.11 ]
- フレーム制御だとACKタイムアウトで再送とかされて大量にフレームが来るから
帯域制限を掛けるなら当然、同じフレームは不達として落としてやらないといけないから複雑
- 530 名前:デフォルトの名無しさん mailto:sage [2011/08/20(土) 10:04:44.02 ]
- 一番簡単な方法はAPIフックだろうね
send recvをフックして遅延を掛けてやればいい ただ、この方法だと100%のソフトを制御出来る保障がないけど 100%制御がしたいとなるとring3では無理 つまりカーネルモード(ドライバ)の領域に入らないと制御は出来ない
- 531 名前:デフォルトの名無しさん mailto:sage [2011/08/20(土) 10:13:07.93 ]
- 一番、簡単確実なのは>>523だろ。最適解が出てるんだから、オナニーするの止めろよ。
- 532 名前:デフォルトの名無しさん [2011/08/21(日) 19:26:09.84 ]
- C#でsocket使おうと思い質問です。
参考にしたのは ttp://dobon.net/vb/dotnet/internet/downloadusesocket.html なのですが、 //受信する byte [] resBytes = new byte[1024]; System.IO.MemoryStream mem = new System.IO.MemoryStream(); while (true){ int resSize =sock.Receive(resBytes, resBytes.Length,System.Net.Sockets.SocketFlags.None); if (resSize == 0) break; mem.Write(resBytes, 0, resSize); } の部分がうまく動作しません。 while一週目で全文受信したのち、2周目でresSize 0がこないのです。 ずっとsock.Receiveのところで固まってしまいます。なにか足りないのでしょうか? オツムの足りない私めにご教示お願いします。
- 533 名前:デフォルトの名無しさん mailto:sage [2011/08/21(日) 19:43:01.85 ]
- resSize 0 ってまず来ないと思うよ
- 534 名前:デフォルトの名無しさん mailto:sage [2011/08/21(日) 20:23:57.84 ]
- もう忘れたけど、相手がクローズしたら 0 になるんじゃ?
- 535 名前:デフォルトの名無しさん mailto:sage [2011/08/21(日) 22:30:09.31 ]
- >>533
Vista以降はcloseするとFINを送る前に0パケットを送信する >>532 というわけでclose以外で0バイトの受信が来る事はない。 TCPはデータの到達は保障してくれるけど区切りまでは保障してくれない。 だからTCP通信で必須になるのがデータサイズを相手に通知する作業なの HTTPプロトコルだと、まず\r\n\r\nでヘッダの終わりを通知して ヘッダの中のContent-Lengthで後続するデータサイズを明記するという構造でデータサイズを渡してる。 同じようにデータのサイズをあらかじめ通知する方法を自分で考えたプロトコルにも組み込まないといけない。 そうすることで何バイト受信すればいいかがわかるでしょ。
- 536 名前:デフォルトの名無しさん mailto:sage [2011/08/21(日) 22:50:19.66 ]
- ナルホド確かに受信文の中に数のデータサイズ部分が居ます。納得しました!
- 537 名前:デフォルトの名無しさん mailto:sage [2011/08/22(月) 02:20:50.65 ]
- >>535
そうなんだ でもそれってUNIX系でいうところの readの戻り値がゼロ ってやつだよね?
- 538 名前:デフォルトの名無しさん mailto:sage [2011/08/23(火) 00:23:23.89 ]
- 良く解らんがsetSoTimeout(タイムアウト時間);とかないん?
- 539 名前:デフォルトの名無しさん mailto:sage [2011/08/23(火) 00:47:50.24 ]
- もっと参考になるサイトがあるだろうに
- 540 名前:デフォルトの名無しさん [2011/08/25(木) 23:18:57.16 ]
- LANケーブルを物理的にハサミでちょん切ったりしたりすると延々受信待ちしてしまいますよね?
socketのReceiveTimeoutは同期の場合にしか使えないようなのですが 非同期の場合はタイムアウトや無応答をどう対処したらいいのでしょう? if (0 < sock.Available | 0 < resSize) と、ネットワークから受信した、読み取り可能なデータ量が0ならbreak? ちがうよなぁ・・・。
- 541 名前:デフォルトの名無しさん mailto:sage [2011/08/26(金) 14:23:25.04 ]
- 復帰
- 542 名前:デフォルトの名無しさん [2011/08/26(金) 19:26:12.89 ]
- UDPとTCPを併用する場合
TCPでの送受信がUDP側に影響を与えることってありますか?
- 543 名前:デフォルトの名無しさん mailto:sage [2011/08/26(金) 20:01:21.09 ]
- ないですね。
イーサネットの帯域食うくらいの通信をTCPでしてない限り。 100%ないと思っていいです。
- 544 名前:デフォルトの名無しさん mailto:sage [2011/08/26(金) 20:03:25.09 ]
- いやあるね
- 545 名前:デフォルトの名無しさん mailto:sage [2011/08/27(土) 02:26:14.91 ]
- (`ハ´) ないあるね。
- 546 名前:デフォルトの名無しさん mailto:sage [2011/08/27(土) 09:42:13.51 ]
- ありますん
- 547 名前:デフォルトの名無しさん mailto:sage [2011/08/27(土) 10:01:00.55 ]
- 役に立たねーな
おまいら
- 548 名前:540 [2011/08/27(土) 17:30:05.25 ]
- まだ困ってます・・・
client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReceiveTimeout, 2000); で受信タイムアウト設定したつもりで居たら駄目だった。 SocketOptionName 列挙体 ReceiveTimeout タイムアウトを受信します。 このオプションは、同期メソッドにだけ適用されます。BeginSend などの非同期メソッドに対しては機能しません。 AsyncCallback(ReceiveCallback)で非同期受信したい場合ではどうすればいいですか?
- 549 名前:デフォルトの名無しさん mailto:sage [2011/08/29(月) 20:27:18.19 ]
- LANが切れた時のタイムアウトは非同期とかどうとかの問題じゃない
何故なら、切断タイムアウトが検出されるのはデータを送信して応答メッセージが無い時だけだからだ 逆に言えば、タイムアウトを発生させたい周期で無意味なデータを送りつけて反応を見ればいい これをPing送信を言う
- 550 名前:デフォルトの名無しさん mailto:sage [2011/08/29(月) 20:30:29.86 ]
- >>548
BeginReceiveを使えばいいだろと言って見るテスト
- 551 名前:デフォルトの名無しさん mailto:sage [2011/08/29(月) 21:36:39.72 ]
- >>549
pingとかいちいち送るのうざいじゃん KIIPUARAIBUを設定してOSに勝手にやらせればよくね?
- 552 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 01:33:24.13 ]
- HTTPヘッダのUser-Agentに日本語などの非アスキーを混ぜたい場合、単純にutf8の%エンコーディング
にすればよいだけ? RFC読めば読むほどわからなくなってきた・・・
- 553 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 03:35:51.57 ]
- yes
- 554 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 09:17:50.28 ]
- 訪問者解析とかしてる奴に攻撃仕掛けるのか?
- 555 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 12:24:21.85 ]
- >>553
うそつけ >>552 Qエンコーディング(MIMEヘッダ拡張)しろ
- 556 名前:デフォルトの名無しさん [2011/09/02(金) 16:09:57.29 ]
- 家庭用PCでWAN側から100ノードくらいから毎秒1〜2回くらいで50バイトくらいのTCP接続受けるのって
マシンとルーターの同時接続数上限的に無理かな?
- 557 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 16:15:04.36 ]
- MMOくらいなら一台で運用してたぞ
- 558 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 17:16:33.12 ]
- >>557
同時接続どれぐらい?
- 559 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 17:57:11.76 ]
- >>556
今時、古いノートPCでも、 ネットワークスタックだけに限れば余裕かと。 サーバの処理については内容によるだろうし、 ルータと言っても古いADSLモデム兼用もあるし機種次第だろうね。
- 560 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 18:37:58.60 ]
- 某○ネージュIIのサーバが拡散されたとき、一台でもそこそこできるんだなと感心してしまった
- 561 名前:全然動かないよーー [2011/09/19(月) 02:52:55.49 ]
- 超悩んでます。やばいです。教えてください。
Linux上でネットワークプログラミングしてます。 IPv4でUDPで受信するプログラムです。 socket()、bind()、setsockopt()は全て成功し正常終了しているのに、 recv()だけがエラーとなり受信できません。 ソケットは確実に開けており、netstatでも確認済みです。 ICMP destination unreachableを発信しています。 何でですか。
- 562 名前:全然動かないよーー [2011/09/19(月) 02:54:57.61 ]
- あと、recvmsg()でMSG_ERRQUEUEを使うとエラー情報が取れると
マニュアルにあるので、やろうとしましたが、全然できません。 それに、疑問点が多々あります。 ○IP_RECVERRの指定はsetsockopt()でするのでいいですか。 ○msghdrにエラーがセットされるとありますが、 エラーはsock_extended_errで提供されるともあります。 msghdrのメンバにsock_extended_errなんてありません。 msghdrに具体的にどのようにエラーがセットされるんでしょうか。 ○recvmsg()でエラー情報を吸い上げるサンプルコードの載っている サイトをご存知の方は教えてください。 よろしくお願いします。
- 563 名前:デフォルトの名無しさん mailto:sage [2011/09/19(月) 03:47:33.33 ]
- select
- 564 名前:デフォルトの名無しさん mailto:sage [2011/09/19(月) 03:50:48.14 ]
- >>562
どうして肝心のrecvのエラーを書かないのか
- 565 名前:全然動かないよーー [2011/09/19(月) 05:00:32.36 ]
- >>564
recv()のエラーは戻り値-1です。
- 566 名前:デフォルトの名無しさん mailto:sage [2011/09/19(月) 05:02:34.96 ]
- >>565
エラー発生時のerrnoの値は?
- 567 名前:デフォルトの名無しさん mailto:sage [2011/09/19(月) 05:30:51.33 ]
- これでEAGAINだったら爆笑だが、彼は一歩成長するだろう。
- 568 名前:デフォルトの名無しさん [2011/09/19(月) 05:48:05.57 ]
- 尻から目が出た!
- 569 名前:デフォルトの名無しさん [2011/09/19(月) 13:54:55.59 ]
- ッモルピグ!作っているのですが、まとまったバイナリは送ったときに受け取ったバイナリはまとまっているんですか?
send関数recv関数 2つ送って1つめより大きなバッファでrecvしたら2つめもついてくることあるんですか?
- 570 名前:デフォルトの名無しさん mailto:sage [2011/09/19(月) 16:07:31.16 ]
- >>569
ある
- 571 名前:デフォルトの名無しさん [2011/09/19(月) 17:19:28.12 ]
- >>570
えっ>< 自分で切り分けなきゃだめってことですか>< 鯖からsendで16byteと12byteのデータが送られたときに、そのパケットが2つとも到着してる状態でrecvで24byte読み出したら最初の16byteと、次の12byteの最初の8byteが引っ付いた状態で読み出されるんですか>< 逆に鯖から8byteのデータが送られたときに読み出すタイミングによっては4byteしか届いてなかったりしますか? TCPです><
- 572 名前:デフォルトの名無しさん mailto:sage [2011/09/19(月) 17:20:26.98 ]
- はい
- 573 名前:全然動かないよーー [2011/09/19(月) 17:33:56.47 ]
- >>565 >>567
errnoのとり方が分かりません。 断片的な知識はあるのですが、うまくいきません。 >>562の質問についても助言をお願いします。
- 574 名前:デフォルトの名無しさん mailto:sage [2011/09/19(月) 17:50:27.97 ]
- >>573
#include <errno.h> #include <string.h> int ret = recv(/*略*/); if (ret == -1) { printf("recv() failed: errno = %d (%s)\n", errno, strerror(errno)); } errnoやstrerror()についてはググッて。
- 575 名前:デフォルトの名無しさん mailto:sage [2011/09/19(月) 18:23:26.31 ]
- >>570,572
ありがとうございます>< 頑張ります><
- 576 名前:デフォルトの名無しさん mailto:sage [2011/09/20(火) 00:45:14.61 ]
- >>561
パケットフィルタで蹴られましたとか言ったら殺す。
- 577 名前:デフォルトの名無しさん mailto:sage [2011/09/20(火) 02:16:11.56 ]
- パケットフィルタで蹴られましたとさ
- 578 名前:デフォルトの名無しさん mailto:sage [2011/09/20(火) 12:21:46.46 ]
- >>576
それは無いだろ。それなら届かないからそもそもエラーにならない。
- 579 名前:デフォルトの名無しさん mailto:sage [2011/09/20(火) 14:17:18.53 ]
- すごいアイデアを思いついた
TorっていうP2P匿名ソフトはSocksに対応してるんだよな ローカルのソフトの通信を全部Torに投げてやれば自動的にすべてのソフトを匿名で利用出来る そして俺にはそのやり方の知識と、既に作ったソフト群がある これ作ったらたぶん革命的だろうな、特にファイル共有関連とかな が作る時間がない アイデアだけ託すから誰か作ってみるといい
- 580 名前:デフォルトの名無しさん mailto:sage [2011/09/20(火) 15:41:59.35 ]
- 了解
- 581 名前:デフォルトの名無しさん mailto:sage [2011/09/20(火) 19:32:49.64 ]
- 既に作ったソフト群があるなら作る時間がなくても困らないじゃん
- 582 名前:デフォルトの名無しさん mailto:sage [2011/09/20(火) 23:21:57.28 ]
- さっさとソース出せ
- 583 名前:動いたよーー [2011/09/21(水) 11:29:58.67 ]
- 561です。
動きましたーっ☆ >>576,>>577 その通りでした。 ファイアウォール設定でごく一部のポートしか開いてませんでした。 それが原因でした。助かりました、ありがとうございます。 >>578 実は、訳あってノンブロックにしていたので、制御が戻り、 -1を返していました。
- 584 名前:デフォルトの名無しさん mailto:sage [2011/09/21(水) 12:05:08.84 ]
- >>583
>>567のとおりだったわけか
- 585 名前:デフォルトの名無しさん mailto:sage [2011/09/21(水) 13:33:00.92 ]
- いや、>>561がerrnoを見たとは限らないぞ。
- 586 名前:デフォルトの名無しさん mailto:sage [2011/09/21(水) 14:04:40.71 ]
- そうだな。あんだけ言ってもまだ-1とかぬかしてるしな
- 587 名前:デフォルトの名無しさん mailto:sage [2011/09/21(水) 15:29:37.40 ]
- 知識の無い奴は、さらに知識の無い奴を見つけると揚げ足とって猿みたいに喜ぶんだよな
だから馬鹿なんだよ
- 588 名前:デフォルトの名無しさん mailto:sage [2011/09/21(水) 17:06:42.20 ]
- >>587
喜びのレスありがとう
- 589 名前:デフォルトの名無しさん mailto:sage [2011/09/21(水) 17:40:28.94 ]
- www.tasukete.org/
ここの管理人アホだから手助けして
- 590 名前:デフォルトの名無しさん mailto:sage [2011/09/21(水) 22:14:20.60 ]
- >>587
同意w
- 591 名前:デフォルトの名無しさん mailto:sage [2011/09/24(土) 00:48:30.65 ]
- CとJavaを入門書終わらせてちょっと簡単アプリなんかも作ってみたりする程度の経験で
ネットワークプログラミングについても勉強してみたいな、と思ったのですが そういう状況だと入門書としては「猫でもわかるネットワークプログラミング」辺りでよろしいでしょうか
- 592 名前:デフォルトの名無しさん mailto:sage [2011/09/24(土) 13:33:35.47 ]
- >3 >4
から好きなの読めば
- 593 名前:デフォルトの名無しさん mailto:sage [2011/09/24(土) 13:48:56.26 ]
- >>591
UNIXネットワークプログラミングvol1と、あとは適当な薄い本買っとけ。
- 594 名前:デフォルトの名無しさん mailto:sage [2011/09/29(木) 01:09:29.28 ]
- UDPで送信側が1から4まで番号つけたデータを順番に送信して、
受信側が1、2、4という順番で受信したときに3のデータがロストしたのか4の後に来るのか判断する方法ってある? 3がくるのをちょっと待ってみるか、2の次に4を受信した時点で3の再送を要求するしかない?
- 595 名前:デフォルトの名無しさん mailto:sage [2011/09/29(木) 08:05:15.55 ]
- >>594
>4の後に来るのか判断する方法ってある? ない。 >3がくるのをちょっと待ってみるか、2の次に4を受信した時点で3の再送を要求するしかない? うん。
- 596 名前:594 mailto:sage [2011/09/29(木) 08:23:58.03 ]
- >>595
ありがと
- 597 名前:デフォルトの名無しさん mailto:sage [2011/09/29(木) 11:38:51.77 ]
- 応用によっては「3は諦める」という選択肢もある。> しかない?
ストリーミングで行われているケースあり。
- 598 名前:デフォルトの名無しさん [2011/10/16(日) 18:09:31.09 ]
- ネットワークプログラミングって
情報少ないけどどうしてますか?
- 599 名前:デフォルトの名無しさん mailto:sage [2011/10/16(日) 18:27:54.19 ]
- >>598 つりだよな???
- 600 名前:デフォルトの名無しさん [2011/10/16(日) 18:36:58.08 ]
- >>599
そうでもない
- 601 名前:デフォルトの名無しさん mailto:sage [2011/10/16(日) 18:38:32.12 ]
- エラー処理等細かいところまでしっかり説明した日本語のサイトって意味なら
少ないかもな
- 602 名前:デフォルトの名無しさん mailto:sage [2011/10/16(日) 18:54:33.92 ]
- たとえばTCP-MD5を実装したいって思ったって、ほとんど
実装の参考になるサイトはないよね。
- 603 名前:デフォルトの名無しさん mailto:sage [2011/10/16(日) 19:02:15.18 ]
- >>602
TCP-MD5ってよくしらないんだけど、そんなにみんなが実装したがるものなの? >>598ってちまたによくある「ソケットの使い方」みたいなものを指してると思ってた。
- 604 名前:デフォルトの名無しさん mailto:sage [2011/10/16(日) 22:28:06.21 ]
- >>602 RFCにこと細かく書いてないか?
# RFC も読めないような低能はネットワークプログラミングするな # 迷惑だ
- 605 名前:デフォルトの名無しさん [2011/10/17(月) 14:23:16.79 ]
- WindowsからLinuxにTCPで接続したのですが、
Windows側でソケットを正常に閉じて終了した際、 Linux側のソケットでrecvしても返り値が0以下(エラー)になりません。 接続をしたままでWindows側のプログラムを強制終了するとLinux側のrecvはちゃんとエラーを返してくれます。 なぜでしょうか? そしてLinux側でWindows側のソケットが正常終了したことを知るにはどうしたら良いでしょうか? ノンブロッキングモードです。
- 606 名前:デフォルトの名無しさん mailto:sage [2011/10/17(月) 17:32:52.11 ]
- >>605
closeはしたけど、shutdownはしてないとか?
- 607 名前:604 mailto:sage [2011/10/17(月) 20:06:20.06 ]
- >>606
ありがとうございます。 シャットダウンしてなかったのでshutdown(sock,2)してみましたが変わりませんでした。 タイムアウトの判定組み込んで何とかします・・・
- 608 名前:デフォルトの名無しさん mailto:sage [2011/10/17(月) 21:21:09.69 ]
- >>605
エラー返さないってそこいらじゅうに書いてあるじゃん 戻値0の場合, EOF とも
- 609 名前:604 mailto:sage [2011/10/17(月) 23:17:12.80 ]
- >>608
すいません、shutdownの使い方しか読んでませんでした。 検出頑張って実装します。
- 610 名前:デフォルトの名無しさん mailto:sage [2011/10/18(火) 00:50:03.94 ]
- >>608ひとこと余計だって言われない?きみ
- 611 名前:デフォルトの名無しさん mailto:sage [2011/10/18(火) 01:17:51.53 ]
- >>610
重要な情報だろ。おかげで>>609も気づきを得た
- 612 名前:デフォルトの名無しさん mailto:sage [2011/10/18(火) 15:43:49.59 ]
- >>610
2chは初めてか? 肩の力抜けよ
- 613 名前:デフォルトの名無しさん mailto:sage [2011/10/18(火) 19:03:52.22 ]
- ひとこと。余計だって言われない?きみ
ひとこと余計。だって言われない?きみ ひとこと余計だって。言われない?きみ ひとこと。余計だって言われないきみ。
- 614 名前:デフォルトの名無しさん mailto:sage [2011/10/18(火) 22:33:33.33 ]
- もしかして >>608 の「戻値0の場合, EOF」が余計な一言と言ってるのではあるまいか?
「安易に答えを教えず自分で調べさせろ」って意味?
- 615 名前:デフォルトの名無しさん mailto:sage [2011/10/19(水) 00:11:37.08 ]
- おしい! あと11時間でゾロメだったのに
- 616 名前:デフォルトの名無しさん mailto:sage [2011/10/19(水) 10:10:21.69 ]
- 2ちゃんでのスレの伸びなんて気にしなくていいよ。
ちゃんとメディアに取り上げられた方が勝ち。 2ちゃんなんて、どうせネトウヨが荒らしに来るだけでしょ。 普通の人が使うネット情報は、ツイッターやフェイスブックの方がメインになってきている。 流行ってるし、コミュニケーションがうまく取れない人は入り込めないから、 ネトウヨがグチグチ文句言ってるでしょw もはや、2ちゃんは、ネットの中でも上手くやっていけないタイプの人が流れ込んで来る場所でしかないんだよ。 だからデモ関係など人を集めたい場合は、2ちゃんは使わない方が良いんだよ。
- 617 名前:デフォルトの名無しさん mailto:sage [2011/10/19(水) 14:54:07.06 ]
- 氏ね政治基地外
- 618 名前:デフォルトの名無しさん mailto:sage [2011/10/20(木) 17:06:52.07 ]
- >>615
ちょっとまて33時ってどゆこと?
- 619 名前:デフォルトの名無しさん mailto:sage [2011/10/20(木) 18:48:53.61 ]
- >>618
ネタなんだよ。
- 620 名前:デフォルトの名無しさん mailto:sage [2011/10/21(金) 19:48:42.44 ]
- (´・ω・`)ふ〜ん
- 621 名前:デフォルトの名無しさん mailto:sage [2011/10/24(月) 00:25:35.00 ]
- 職場の新人にネットワークの基礎からたたき込むことになったのだが、新人教育は初
相手は一応ソフト関係を大学で勉強はしたがネットワーク関係はさっぱりという連中、 ソフトを扱っていたというレベルもちょと不安なところ ネットワーク関連の組み込みアプリケーション(DLNAとか)の 設計ができるところまで育てる必要があるのだが さて、どこから教えたものか? とりあえずOSI参照モデルあたりの説明でもしとけばいいのか?? 自分が独学なだけにどうしたらいいのかよく分からん、助言あれば頼む。
- 622 名前:デフォルトの名無しさん mailto:sage [2011/10/24(月) 00:33:28.87 ]
- >>621
逆に考えるんだ。DLNAを作れるという到達目標が明確なら、 そのために必要な前提知識を洗い出す。 ・・・で、さらにその前提知識を洗い出す。 これを生徒の現在のレベルであろうという場所まで繰り返す。 それが教えなければならない項目のリストだ。 生徒の現在のレベルについては、事前にペーパテストでもやっておくと良い。 事前にテストとか出来ないなら、とりあえず優しいレベルからスタートして、 生徒の顔色を見ながら知ってそうならすっ飛ばすことになる。
- 623 名前:デフォルトの名無しさん mailto:sage [2011/10/24(月) 00:36:30.28 ]
- >>621
課題となるアプリを決めて環境構築から設計、実装までを新人といっしょにやってみるのが一番じゃね。
- 624 名前:デフォルトの名無しさん mailto:sage [2011/10/24(月) 01:10:08.08 ]
- >>622
>>623 なるほど、とりあえず軽くテストしてレベルを調べるってことをやると ある程度方針が決まるかもですね そこで基礎固めがある程度できたら、 実際のシステム構築をやらせてみて その都度必要な知識についてこちらから説明するなり 自分で調べさせるなりすれば身につきやすいか 何となくイメージができてきました。
- 625 名前:デフォルトの名無しさん mailto:sage [2011/10/24(月) 02:59:19.70 ]
- 人に教えるのって大変だよな。小学生から独学でプログラミングやって、膨大な量のソースコード書いてきたから
大学の授業でちょこっとやっただけの奴らって大丈夫かって思う。 特にデバッグ力、設計力に圧倒的な差が出る
- 626 名前:デフォルトの名無しさん mailto:sage [2011/10/24(月) 23:16:41.55 ]
- c#スレでこちらに誘導されましたのでお願いします。
popサーバにアクセスして、新着メールを取得するプログラムを作りたいのですが、 接続〜取得まではうまくいきましたが、メールをフォルダわけしている場合に、 "受信フォルダ"←ルート?のメールしか取得できません。 条件で振り分けている他のメールも取得したいのですが、行き詰まってしまいました。 よい方法がわかるかたがいらしたら回答よろしくお願いします。 言語はC#で、listやstatを投げても、ルートディレクトリのメールしか取得できない状態です。
- 627 名前:デフォルトの名無しさん mailto:sage [2011/10/24(月) 23:29:59.76 ]
- >>626
POPじゃどうにもならないだろ。 素直にIMAP4使え。
- 628 名前:デフォルトの名無しさん mailto:sage [2011/10/25(火) 00:30:13.88 ]
- >>625
俺は大学に入ってから初めてプログラミングに触れた人間だが 大学の授業でやったレベルだと全く役にたたんね 設計力・コーディング力以前にソフトウェア的な概念自体さっぱり身につかない 教科書見てこう書けばこう動くだけだからねぇ やっぱり、学習と言うより経験が重要だからOJTが一番身につくのかなぁ
- 629 名前:デフォルトの名無しさん mailto:sage [2011/10/25(火) 00:52:13.23 ]
- ttp://www.back-number.net/cabinet/07/07257/jun114910072570614.jpg
- 630 名前:デフォルトの名無しさん mailto:sage [2011/10/25(火) 01:46:48.27 ]
- >>628
ベーマガ読んで倉庫番作れ。 それがもっとも早道だ。
- 631 名前:デフォルトの名無しさん [2011/10/26(水) 20:17:30.05 ]
- 質問失礼します。
C++でwinsockのUDPのプログラミングを行っています。 C/S共にsendtoとrecvfromを利用しているのですが、 まれにC/S共にrecvfromでブロックされて、それ以後の送受信が行えない事象が発生します。 sendtoでエラーは出ていませんでした。 @サンプル通りに作ったのですが、こういった事はありうるのでしょうか? Aこれはどのように回避すべきでしょうか? recvfrom関数をノンブロッキング関数にする事はできるのでしょうか? 分かる方、お願いします。
- 632 名前:631 mailto:sage [2011/10/26(水) 21:02:27.21 ]
- すいません。
Aは解決しました。 サーバーで利用する関数を sendto recvfrom クライアントで利用する関数を sendto recv にして、 Ulong uloVal = 1; ioctlsocket(socket, FIONBIO, &uloVal); 上記設定を行った所、ノンブロッキング処理が行えるようになりました。 しばらくコレで様子をみます。
- 633 名前:デフォルトの名無しさん mailto:sage [2011/10/26(水) 21:36:42.51 ]
- >>631, 632
UDP って, 仕様的に 「必ず届く保証がない」 ってのは知ってる
- 634 名前:デフォルトの名無しさん mailto:sage [2011/10/26(水) 21:56:16.42 ]
- >>633
Yes, I know.
- 635 名前:631 mailto:sage [2011/10/27(木) 07:33:40.59 ]
- >>633
知ってました。。。確かにそうですね。 教科書のサンプル通りに組んだんですけど、教科書にも間違いがあるんですね。 お陰さまで解決できました。 ありがとうございました。
- 636 名前:デフォルトの名無しさん mailto:sage [2011/10/27(木) 10:11:02.18 ]
- ロストをフォローするようなコードになってないだけで別に間違ってるわけじゃないだろ
自分で考える脳みそがないのを教科書のせいにすんな
- 637 名前:デフォルトの名無しさん mailto:sage [2011/10/27(木) 10:55:53.61 ]
- 「ただし、空気抵抗は無いものとする」
と同じようなものだよ。 とりあえず空気抵抗を考えるのは次のステップで まずは基本を抑えておけと言う
- 638 名前:デフォルトの名無しさん mailto:sage [2011/10/28(金) 13:23:28.05 ]
- で?
- 639 名前:デフォルトの名無しさん mailto:sage [2011/10/28(金) 17:18:25.07 ]
- >>638
基本を押さえたら あとは実践あるのみだよ
- 640 名前:デフォルトの名無しさん mailto:sage [2011/10/28(金) 22:19:13.97 ]
- 今時だいたい仮想化できるんだから実践なんて必要ないよ
- 641 名前:デフォルトの名無しさん mailto:sage [2011/10/28(金) 22:58:25.16 ]
- なら仮想を実践すればいい
- 642 名前:デフォルトの名無しさん mailto:sage [2011/10/30(日) 14:27:50.51 ]
- linuxでネットワーク用のバッファメモリの
システムでの合計最大量を制限する方法ってなかったっけ。 物理メモリの何%までとかいう感じのがあったような記憶があるんだが。
- 643 名前:デフォルトの名無しさん mailto:sage [2011/10/31(月) 10:25:11.14 ]
- >>642
無い。 ソケットごとのバッファサイズや開けるファイルの数なら設定できるから それらの掛け算で上限を決めることは出来る。
- 644 名前:デフォルトの名無しさん mailto:sage [2011/10/31(月) 11:39:42.32 ]
- 3人プレイのゲームをオンラインにするとき、Aをホスト、BとCをクライアントとすると
B・C間のデータのやりとりってAを介して行うもの? それともBとCにお互いの宛先を教えて直接やりとりさせるもの?
- 645 名前:デフォルトの名無しさん mailto:sage [2011/10/31(月) 12:22:29.49 ]
- 他のゲームがどうやってるか、考えたこと無いのか?
- 646 名前:デフォルトの名無しさん mailto:sage [2011/10/31(月) 12:42:58.47 ]
- 俺だったら、3人のうちで、誰かの通信速度が遅かったり、急に切断されても。残りの二人が遊べるような仕組みにする
だから、AB BC CA間全てでやりとりさせるな 簡単にするなら、BとCはインターフェースとしての役割にして(つまり、キーの入力とかをそのままAに投げる) Aだけでゲームの処理をする
- 647 名前:デフォルトの名無しさん mailto:sage [2011/10/31(月) 12:50:53.31 ]
- >>644
どちらでも好きに。それぞれメリットデメリットはある。 特定のPCをホストにする場合、そのPCがボトルネックになる。 その代わりに作りやすい。 P2Pにしてもいいけど、各PCごとに持っている各PCの状態が事なってたり する可能性があるので、作るのは難しくなる。
- 648 名前:デフォルトの名無しさん mailto:sage [2011/10/31(月) 12:53:03.80 ]
- >>645
他のゲームがどうやってるか考えたら何がわかんの?
- 649 名前:644 mailto:sage [2011/10/31(月) 16:17:13.13 ]
- >>646-647
参考になった ありがとう
- 650 名前:デフォルトの名無しさん mailto:sage [2011/10/31(月) 16:47:49.12 ]
- >>648
いろいろわかる
- 651 名前:デフォルトの名無しさん mailto:sage [2011/11/02(水) 01:19:33.72 ]
- すみません。
ひよっこC++プログラマーで、まず1:1通信を勉強し、いずれはサーバーを置いて2秒おき程度に通信しあって仮想空間を実現したい者です。 ネットワーク系書籍で、様々なプロトコル、ネットワークを実現する機器の構成、ネットワークを実現する技術のあらまし、OSI参照モデルなどの勉強はしたのですが、 ネットワークプログラミングの勉強をしようと書籍を読むと、いきなりPCを2台準備しなければ困難 と書かれており立ち往生しています。 やはりPCが2台無いと勉強はできないものなのでしょうか? また、個人でなるべく手間をかけずに実現できるのはどの程度で、どれ以上は個人では無理が出始めるのでしょうか? メンテナンスやセキュリティの技術が無ければ仲間内の小さなお遊び程度に留めるべきなのだろうなぁとは思っているのですが…。 良い勉強方、今、そして今後知るべき/読むべき書籍などの誘導をして下さると幸いです。 よろしくお願いします。
- 652 名前:デフォルトの名無しさん mailto:sage [2011/11/02(水) 01:46:04.80 ]
- その勉強したっていうネットワークの本、もう一度読んで
ネットワークとは何か勉強しなおそうぜ♪
- 653 名前:651 mailto:sage [2011/11/02(水) 01:54:14.06 ]
- >>652
擬似的2台にみせかけて勉強するとかも困難なものなのですね・・orz 友人にプログラムを送って手伝ってもらうなりしないとなのでしょうか。 少し復習してみます。。
- 654 名前:デフォルトの名無しさん mailto:sage [2011/11/02(水) 02:37:46.15 ]
- localhost使ったら問題のあることやりたいの?
www.geekpage.jp/programming/ ここにあるような、初歩的なものなら1台で実験できる。
- 655 名前:デフォルトの名無しさん mailto:sage [2011/11/02(水) 02:46:19.07 ]
- お前さんの思い込みが入ってるように思えてならないが
本当にその本に「PCを2台準備しなければ困難」と書いてあるなら、 書名をさらして今すぐ捨てろ
- 656 名前:デフォルトの名無しさん mailto:sage [2011/11/02(水) 04:02:01.93 ]
- >>651
端末を二つ開いて、一つをサーバーに、一つをクライアントにすれば、たいていの場合同一マシンでも確かめることができます。 あとそんな方法でさえも教えてくれないというその書籍の名前を教えてください。
- 657 名前:651 mailto:sage [2011/11/02(水) 04:02:52.92 ]
- >>655
オンラインゲームプログラミング という本だったと思います。 PC2台ないと解説についてこれなくなるという標記に肩を落とした記憶が・・。 >>654 ありがとうございます・・! 初歩的・・でもとにかく感触だけでも知りたいので色々試して学んでみようと思います。感謝っ
- 658 名前:デフォルトの名無しさん mailto:sage [2011/11/02(水) 06:41:06.34 ]
- >>657
それはネットワークの都合では無くて、 ゲームの都合でついてこれなくなるんじゃね?
- 659 名前:デフォルトの名無しさん mailto:sage [2011/11/02(水) 09:49:45.31 ]
- これかな
ttp://www.amazon.co.jp/dp/4797328479/
- 660 名前:デフォルトの名無しさん mailto:sage [2011/11/02(水) 09:57:12.03 ]
- プログラミング初心者だと、ネットワーク系はデバッグが無理だろ。
こういう系のプログラム作るなら、9割りがた一発で通せるレベルじゃないと
- 661 名前:デフォルトの名無しさん mailto:sage [2011/11/02(水) 10:30:00.68 ]
- うまく動作しているLAN戦略がWANにも適用できると思ってはいけない
TCP/IPプログラミング徹底解説 Jon.C.Snader著
- 662 名前:デフォルトの名無しさん mailto:sage [2011/11/02(水) 17:32:56.34 ]
- まずはネットワークスペシャリストの資格を取るべきだろ
- 663 名前:651 mailto:sage [2011/11/02(水) 18:18:59.08 ]
- >>656
1台のPCでも確かめられるんですね; ありがとうございました; >>658 そういう意味だったのですかね、、 10ページ程は無理に読み進めてみたけれどこんがらがって挫折してました; >>659 おそらくそれです。 >>660 初心者では無いですが、中級者とも言えないひよっこです; なんとか頑張ります; >>661 オンラインゲームで不具合だらけのパッチが来るのはそこが原因なのでしょうか。 654さんのURLから始めて2プログラム間のやり取りを試せて嬉しい反面、 やはり実際に外とやってみないと動作保障は無いと思った方が良いのですね・・。ありがとうございましたー;
- 664 名前:デフォルトの名無しさん mailto:sage [2011/11/02(水) 21:54:47.98 ]
- >>662
> ネットワークスペシャリスト うちの会社のもいるけど, 現場じゃ, 全然つかえねぇじゃんw
- 665 名前:デフォルトの名無しさん mailto:sage [2011/11/02(水) 22:09:21.00 ]
- 残念だが資格もってない奴よりはまだマシなんだぜ・・・
- 666 名前:デフォルトの名無しさん mailto:sage [2011/11/03(木) 07:08:47.07 ]
- 一般的な基準にはなるわな
持っていない奴等の中から本当に使える奴を探すよりも、 持っている奴等の中から探したほうが、ずっと早いし確実
- 667 名前:デフォルトの名無しさん mailto:sage [2011/11/04(金) 10:32:30.91 ]
- 勉強すればネットワークスペシャリストレベルの知識を理解し、覚えることができるという証明だからな
教えてできるかどうかわからない奴らよりはずっと信用できる(人間性を除く) たまに面接前に応用技術の過去問やらせる会社とかあるけど 流石にあれは何を求めてるのかわからん 資格持ってる奴でも普段そういう仕事やってなきゃできるわけねーのに
- 668 名前:デフォルトの名無しさん mailto:sage [2011/11/04(金) 10:40:04.11 ]
- ネットワークスペシャリストの取得者は東大卒レベルだからな
- 669 名前:デフォルトの名無しさん mailto:sage [2011/11/04(金) 11:39:28.84 ]
- ネットワークスペシャリンスト()ならこれ解くくらい簡単なんだぜ
yuina.lovesickly.com/wp-content/uploads/2008/11/captcha1.jpg
- 670 名前:デフォルトの名無しさん mailto:sage [2011/11/04(金) 11:40:32.66 ]
- でも今の合格率見るとたいしたことないかも
俺が受かったときは6%くらいだったのに。
- 671 名前:デフォルトの名無しさん mailto:sage [2011/11/04(金) 11:40:33.75 ]
- >>667
普段そういう仕事やってる香具師を採りたいんだろ
- 672 名前: ◆QZaw55cn4c mailto:sage [2011/11/04(金) 12:33:35.90 ]
- >>669
なんで変数が x しかないのに∂なんだ?
- 673 名前:デフォルトの名無しさん mailto:sage [2011/11/04(金) 12:55:06.58 ]
- 何か問題でも?
- 674 名前:デフォルトの名無しさん mailto:sage [2011/11/04(金) 13:36:30.86 ]
- >>671
それなら募集要綱に書くだろ
- 675 名前:デフォルトの名無しさん mailto:sage [2011/11/04(金) 21:28:11.25 ]
- A:4
- 676 名前:デフォルトの名無しさん mailto:sage [2011/11/05(土) 04:03:48.60 ]
- VC++とWinSock2.0で通信プログラムを作ったんだけど
PC_A --- モデム --- インターネッツ --- モデム --- PC_B な構成だと普通にSENDで期待通りにデータが到達するのに PC_A --- モデム --- インターネッツ --- モデム --- ブロードバンドルータ --- PC_B という構成にすると PC_Aがリスン状態でPC_BがPC_Aに接続することはできるのに どちらからSENDしても相手にデータが到達しないっていう ブロードバンドルータ的にはDMZに登録してない限り外部からのデータは受信しないと聞いているけど それならせめて送信はできてもいいと思うんだけどNAT的にデータが到達しないのが正しい挙動なのでしょうか?
- 677 名前:デフォルトの名無しさん mailto:sage [2011/11/05(土) 06:37:34.31 ]
- >>676
いいえ。
- 678 名前:デフォルトの名無しさん mailto:sage [2011/11/05(土) 07:02:49.52 ]
- もうだめだこのスレ
- 679 名前:デフォルトの名無しさん mailto:sage [2011/11/05(土) 09:38:56.15 ]
- ほらねこういう基礎が無い人がいるでしょ。
でもネットワークスペシャリストを取得した人間なら こんな基礎はしっかり頭に入ってる。この違いがでかい。
- 680 名前:デフォルトの名無しさん mailto:sage [2011/11/05(土) 13:15:28.19 ]
- DMZに登録するかポート開けないと
- 681 名前:デフォルトの名無しさん [2011/11/05(土) 14:01:39.42 ]
- ポート解放?なにそれ?っていうめんどくさいユーザーのためにサーバー役以外はポート解放しなくてもいいようにしたいんだけど無理なの?
- 682 名前:デフォルトの名無しさん mailto:sage [2011/11/05(土) 14:21:42.43 ]
- >>681
もちろんできるよ。
- 683 名前:デフォルトの名無しさん mailto:sage [2011/11/05(土) 14:25:28.85 ]
- >>669
0
- 684 名前:デフォルトの名無しさん [2011/11/05(土) 19:45:07.71 ]
- 最低限のセキュリティって頭はないのか?
- 685 名前:デフォルトの名無しさん mailto:sage [2011/11/05(土) 22:31:51.97 ]
- PGなんてのは最底辺がやる仕事なんだからそんな高度なことは考えなくてもいい。
全部解放でいいじゃん。
- 686 名前:デフォルトの名無しさん [2011/11/06(日) 00:45:28.10 ]
- プログラマといえど安全設計を念頭にやったほうがいいとおもうが
まあ試しに開放で・・・。
- 687 名前:デフォルトの名無しさん [2011/11/06(日) 01:25:56.85 ]
- まあね
- 688 名前:デフォルトの名無しさん mailto:sage [2011/11/06(日) 02:42:34.88 ]
- 安全設計やってもやらなくても評価(単価)は変わらないよ。やるだけ損。
チャッチャと作って問題おこるころにバックレている方がずーっと賢い。
- 689 名前:デフォルトの名無しさん mailto:sage [2011/11/06(日) 02:59:24.21 ]
- そんで次からは発注してもらえなくなると。
- 690 名前:デフォルトの名無しさん [2011/11/06(日) 03:04:32.50 ]
- >>688
それは賢いプログラマーだと思うが・・・。
- 691 名前:デフォルトの名無しさん mailto:sage [2011/11/06(日) 13:02:11.82 ]
- ずる賢い
- 692 名前:デフォルトの名無しさん mailto:sage [2011/11/06(日) 16:20:10.43 ]
- なぜMSに発注が続くのか理解出来ない
- 693 名前:デフォルトの名無しさん mailto:sage [2011/11/06(日) 20:55:45.99 ]
- スマートハブとかインテリハブとかあるでしょ?
スマートで済むものにインテリの見積もり費用吹っかけておいたらウマー
- 694 名前:デフォルトの名無しさん mailto:sage [2011/11/08(火) 17:26:44.08 ]
- >>692
それを理解できないうちはお金持ちにはなれんよ
- 695 名前:デフォルトの名無しさん mailto:sage [2011/11/09(水) 12:15:36.04 ]
- まあね
- 696 名前:デフォルトの名無しさん mailto:sage [2011/11/13(日) 21:16:35.85 ]
- gzipで圧縮されたHTTPをGZipStreamで解凍するとパケットが分割されてない、ひとつだけの時は解凍できるのですが
複数のパケットに分割されて送られてきたものを一つにまとめて解凍するとなぜか失敗します 何が原因でしょうか?
- 697 名前:デフォルトの名無しさん mailto:sage [2011/11/13(日) 22:32:16.48 ]
- データが壊れてないかどうか比べてみた?
- 698 名前:デフォルトの名無しさん mailto:sage [2011/11/14(月) 00:06:55.75 ]
- 壊れてないです
- 699 名前:デフォルトの名無しさん mailto:sage [2011/11/14(月) 11:39:37.53 ]
- このスレの >>98- あたりの話かねぇ
- 700 名前:デフォルトの名無しさん mailto:sage [2011/11/14(月) 11:46:33.72 ]
- 仕様読めよ。昔読んだけど忘れた
content encodingと・・・encodingってあったような content-lengthはcontentの長さ。圧縮後の長さだったような rangeは忘れた
- 701 名前:デフォルトの名無しさん mailto:sage [2011/11/14(月) 13:36:01.68 ]
- お前が言うな
- 702 名前:デフォルトの名無しさん mailto:sage [2011/11/18(金) 04:09:33.92 ]
- マルチキャストのプログラムを書いたんだけど、
ひょっとしてこれスイッチの負荷が物凄い?
- 703 名前: ◆QZaw55cn4c mailto:sage [2011/11/18(金) 20:00:13.01 ]
- >>702
マルチキャストは同軸ケーブル一本に乗っていた時代だからこそ容易に実装できたわけで。
- 704 名前:デフォルトの名無しさん mailto:sage [2011/11/18(金) 21:38:36.33 ]
- 死ねクズ
- 705 名前:デフォルトの名無しさん mailto:sage [2011/11/18(金) 23:05:29.88 ]
- >>702
まぁな, スイッチのバックプレーンには確実に負荷がかかる まぁ, その程度でアップアップするようなスイッチは捨てろ ってな話もあるが... ... ...
- 706 名前:デフォルトの名無しさん mailto:sage [2011/11/25(金) 03:55:09.69 ]
- あぁーそうか、昔はネットワーク装置側にとって
ユニ・マルチ・ブロードでのキャストの違いはなかったんだっけ。 今は賢いのが当たり前すぎて完全に忘れていた。
- 707 名前:デフォルトの名無しさん mailto:sage [2011/11/29(火) 14:22:20.99 ]
- WinSocket2のOverlapped IOの質問です。
クライアント側でサーバーにTCP/IPで接続した後、WSARecvでOverlapped IOして放置して、 で、例えば、WSASendでこちらは同期呼び出しで送信してる間に、サーバー側からデータ来た場合、 WSARecvの最後の引数で指定した完了ルーチンが呼び出されるのでしょうか?というか こういう使い方はアリなんでしょうか?
- 708 名前:デフォルトの名無しさん mailto:sage [2011/11/29(火) 14:48:31.10 ]
- すみません。忘れて下さい。
- 709 名前:デフォルトの名無しさん mailto:sage [2011/11/30(水) 10:09:57.72 ]
- 現在ローカルPCがアクセスしているインターネット接続(HTTPのみ)の取得方法を教えてください。
イメージ的には iexplore.exe ahoo.com/hoge/index.html firefox.exe googoo.com/sage/index.html spy.exe spy.gr/~12345 などです 言語はVB,VCのどちらかでお願いします。
- 710 名前:デフォルトの名無しさん mailto:sage [2011/11/30(水) 14:00:46.12 ]
- 不可能
- 711 名前:デフォルトの名無しさん mailto:sage [2011/11/30(水) 14:21:30.31 ]
- 不可能か
netstat -b は不可能なんだ
- 712 名前:デフォルトの名無しさん mailto:sage [2011/11/30(水) 14:23:48.45 ]
- urlまで取るならパケット横取りして解析するしかないか?
- 713 名前:デフォルトの名無しさん mailto:sage [2011/11/30(水) 14:24:10.45 ]
- HTTPだからだろ
- 714 名前:デフォルトの名無しさん mailto:sage [2011/11/30(水) 15:00:46.92 ]
- proxy
- 715 名前:709 mailto:sage [2011/11/30(水) 16:28:21.12 ]
- やはりパケット解析しかないですか。
接続先IPアドレスだけだとちょと足りないんで。 昔のようなバカハブが安く売ってればいいんだけど、今逆に高くて・・・
- 716 名前:デフォルトの名無しさん mailto:sage [2011/11/30(水) 16:36:20.24 ]
- winPcapでがんばれ
- 717 名前:デフォルトの名無しさん mailto:sage [2011/12/06(火) 11:32:27.58 ]
- ちょうどこんなのあるらしいぞ
HTTPNetworkSniffer www.forest.impress.co.jp/docs/review/20111205_494893.html まさしくWinPcapでHTTPをキャプチャする
- 718 名前:デフォルトの名無しさん mailto:age [2011/12/29(木) 15:57:22.25 ]
- ホスト側とクライアント側に別れる事ができるゲームで
「ホスト側はポート●●番を開放して下さい」とよく表記されています ホスト側はあけたポートでデータを受信しているのはわかりますが クライアント側は一体どうやってデータを受信してるのでしょうか? 丸一日ほど探したのですが見つからないので質問させて頂きます
- 719 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 15:59:32.29 ]
- 板違い
- 720 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 16:04:47.53 ]
- >>718
TCPならクライアント側のポートはOSなどが決定する。 ・クライアントが通信を開始する 通信用のポートをOSに要求 ・そのポートからサーバの決められているポートにデータ送信 このときサーバはクライアントはどのポートからデータを送ったのかも通知している (TCPの仕様でポート番号もヘッダに含まれるから) ・サーバはクライアントのポートに対してデータを返す ・サーバから、もしくはクライアントから接続を切る 要するに、クライアント側は出口を「返事の入り口として開けて待っている」という状態。
- 721 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 16:41:30.21 ]
- > TCPならクライアント側のポートはOSなどが決定する。
ウソ教えんなよ。雑魚。
- 722 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 16:53:36.80 ]
- >>720
TCPではとのことですけど やっぱりUDPでは不可能なのでしょうか? 何か回避策などあったりするんですか?
- 723 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 18:58:09.85 ]
- >>722
何が不可能なんだ? 何を回避したいの?
- 724 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 19:53:28.92 ]
- cookieに関しての質問です。
2chの専ブラを制作しているのですが、cookieの管理で悩んでいます。 cookieの仕様書通りに管理するプログラムを書いたのですが、 書き込み時に、PON=????の文字列が一番最初に来ないと書き込めませんでした。 ex) PON=...; HAP=... OK HAP=...; PON=... BAD 仕様書によると、pathは優先度が変わりますが、domainはその詳細に順位が関係しないはずです。 俺が知らない何かがあるのでしょうか。
- 725 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 20:20:17.44 ]
- 2chサーバーが仕様書通りに実装されているという保証はどこにもない。
- 726 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 20:29:26.13 ]
- >>725
なるほど。でも、これだけ大規模なのに?
- 727 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 20:30:46.67 ]
- >>723
すみませんUDPでも
- 728 名前:718 mailto:sage [2011/12/29(木) 20:33:07.64 ]
- >>723
すみませんUDPでも ホスト側でクライアント側のIPやポート番号を取得することができました。 しかしホスト側でそのIPとポート番号を元に クライアント側にデータを送信してもうまく受信できません 何故失敗するのでしょうか?
- 729 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 20:49:50.82 ]
- サンプルがいくらでも転がってるから、それを動かしてみて動かなかったら質問しろ。
お前が試行錯誤ででっち上げたクソコードの動作の予測なんてできるわきゃねーだろ。
- 730 名前:デフォルトの名無しさん mailto:sage [2011/12/30(金) 00:17:59.99 ]
- >>728
同一コネクションでも?
- 731 名前:デフォルトの名無しさん mailto:sage [2011/12/30(金) 03:46:44.88 ]
- >>728
クライアント側でconnect()でもしてなきゃ無理だよ。
- 732 名前:デフォルトの名無しさん mailto:sage [2011/12/30(金) 07:12:22.76 ]
- >728
パケットキャプチャのソフト(ワイヤシャークとか)で、パケットが届いてるか確認してごらんよ。 あとはサーバとクライアントでプログラム入れ換えたらつながるか
- 733 名前:デフォルトの名無しさん mailto:sage [2011/12/30(金) 07:37:51.65 ]
- >>728
ポート開放とか書いてたけど、もしかしてそれNATルーターの話か? エスパーすると、サーバー側で受信したそのソケットから返信してないとか?
- 734 名前:718 mailto:sage [2011/12/30(金) 19:32:14.69 ]
- 手順は以下の通りで実装してます
サンプルは色々探しているのですがUDPを使用したクライアントとホストの相互通信で ホストのみがポート開放をする例のサンプルが見つからずに苦戦しております ●ホスト側 ・準備 @受信用のUDP用socketを作成する A受信用に使うsockaddrを作成する(ポート▲番指定) B送信用のUDP用socketを作成する ・受信 @bindで受信用socketを結びつける Arecvfromで受信用socketからデータを取得する B上記の処理で手に入ったポート番号とIPで送信用socketを設定する(ポート■番がわかる) ・送信 @sendtoで送信用socketを使う ●クライアント側 ・準備 @送信用のUDP用socketを作成する A送信用に使うsockaddrを作成する(アドレス・ポート▲番指定) B送信用のsocketをconnectする ・受信 @bindで受信用socketを結びつける Arecvで受信用socketからデータを取得する(■失敗する■) ・送信 @sendtoで送信用socketを使う Q1・クライアントでホストがポート何番に返信されたかが不明なので受信は不可能なのか Q2・UDP通信でconnect()は本来の用途ではないと書かれていたのですが正しいのか
- 735 名前:デフォルトの名無しさん mailto:sage [2011/12/30(金) 19:57:09.52 ]
- だから、ちゃんとした教科書つかえよ。
ホスト側、クライアント側ともに「送信用ソケット」と「受信用ソケット」を使わない。 1つのソケットを送信、受信で共用する。 ホスト側にUDPが届く設定ができているなら、これで送受信できるはずだ。
- 736 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 00:12:52.06 ]
- 同じポートで2つソケット開いてるんだな。それだと、どっちのソケットに届くか不定だったはずだ。
普通ソケットは、同一マシン送受信で1個で設計する。 サーバ側 7001 クライアント側 7001 (分かりやすくするため7011とかもok) まあ送信用と受信用で別にしても作れる。その場合は、同一マシン内はポートを別にする。 例えば、 サーバ 受信 7001 サーバ 送信 7002 クライアント 受信 7001 (7011とかもok) クライアント 送信 7002 (7012とかもok) 送信で相手ポートを指定するのに、sendじゃなくsendtoするんだからconnectは不要。 自分のポート指定は全部bindで行ける。 前の人も言ってるとおりまともな教科書買えよ。スレのアタマ見たか?
- 737 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 00:25:06.58 ]
- あと、基本を勘違いしてそうだな。
1方向の1通信で、送信元ポートと送信先ポートがあるんだぞ。 サーバ側プログラムでrecvfrom 呼ぶときお前が指定すべきなのは、クライアント側の送信元ポート。どの送信元ポートでも受け付けるならanyaddrを指定する。 呼んだあとで取得できるのは、サーバのどのポートに届いたか(送信先ポート)であって、送信元ポートじゃない。普通はbind済みで自明なので、そんなの見る必要ない。
- 738 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 00:26:08.92 ]
- anyaddrじゃなくanyportだった。間違い。
- 739 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 00:34:38.82 ]
- 先ずは車輪の再発明と模倣と反復練習と復習。軟弱地盤にゃ土質改良が必要。
- 740 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 00:48:08.96 ]
- >>734
サーバー側が recvfrom で受け取ったアドレスをまんま使って sendto しないのはなぜ? 以下じゃだめな宗教的理由でもあるの? recvfrom(s, rb, sizeof rb, 0, (struct sockaddr*)&a, &l); /* 何かの処理, aとlの内容はつつかない */ sendto(s, sb, sizeof sb, 0, (struct sockaddr*)&a, l);
- 741 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 01:00:31.54 ]
- >>737
そうなのですね勉強になります
- 742 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 01:02:28.41 ]
- すみません間違えて投稿してしまいました
>>737 そうなのですね勉強になります anyportについて検索してみても資料が出てこなかったので別の言い方とかありませんか? >>740 わかりにくくてすみません ちゃんとプログラム側ではそう実装しておりました
- 743 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 02:19:42.46 ]
- そう実装してました、って、じゃあ>>734で書いてることと違うじゃん。
どっちが本当なのよ?
- 744 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 09:48:53.30 ]
- そうなのねですか勉強になりすます
- 745 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 02:28:39.89 ]
- すまん間違えた。recvfromで取れるアドレスはやっぱ送信元だ。吊ってくる
- 746 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 04:27:43.30 ]
- DoCoMoの不具合連続で不安になったんですが、
C++やjavaでtcp通信用のソケットを生成して通信する場合、 生成から破棄まで、特殊なことをしない限りは、通常は通信相手は固定ですよね?
- 747 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 12:22:11.25 ]
- >>746
まぁそうだね。 自分が特殊な事をしなかったとしても、経路上にある機器や、 通信相手が特殊な事をしていないとは限らないけどな。
- 748 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 13:39:18.52 ]
- やっぱそうですよね、よかった。
- 749 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 13:43:20.10 ]
- 何がよかったのか…
- 750 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 18:55:54.44 ]
- 通信がおかしい場合は「相手が特殊なんだ」と相手のせいにできる
口実を手に入れたつもりになっているんだろう。
- 751 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 19:29:52.81 ]
- >>746の1行目とそれ以降が繋がってない気がする。
- 752 名前:デフォルトの名無しさん [2012/01/08(日) 18:29:24.53 ]
- IPv6でdivertでパケットを横取りしてルーティングヘッダを
付けようとしていますが、うまくできません。 誰かIPv6でヘッダに拡張ヘッダを付加する方法を知りませんか?
- 753 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 19:58:02.60 ]
- ルータにはじかれるだけでしょ、小細工すると
- 754 名前:デフォルトの名無しさん mailto:apfel3063@gmail.com [2012/01/08(日) 22:00:57.57 ]
- はじかれる前にパケットを送れてないんですよ
- 755 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 11:13:35.01 ]
- Windows 7 Professionalで、XPのrsh.exeと同等の機能を使いたい何とかしてくれ。
用途は、VC++で作った自前のアプリからrsh.exeを呼んで、サーバのシェルを実行し、その結果を取得したい。 無償、有償は問わない。rshクライアントのソースコードでも構わない。
- 756 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 15:13:45.92 ]
- ここはプログラミング板なので作成依頼ということだな。
100万/納期1か月で作ってやるよ。
- 757 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 15:21:05.56 ]
- >>755
Cygwin使えば?
- 758 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 15:45:27.56 ]
- >>756
1か月とかw >>757 論外 誰かまともなレス頼む
- 759 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 15:46:28.59 ]
- >>758
どうしてCygwinのrsh.exeは論外なの?
- 760 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 16:16:17.75 ]
- VB5で書かれたrsh.exeがころがってるからVCに移植すれば?
そんなに複雑なコードじゃなかった記憶があるし
- 761 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 16:48:32.78 ]
- >>759
CygwinのrshってVC++からコールして使えるの? あとCygwinって商用利用とかダメだった記憶が。調べてないけど あくまでもrsh単体を自前のアプリに含めて商用利用したい 一応売り物なんでどこぞの怪しい物は使いたくない
- 762 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 17:33:51.75 ]
- >>761
コマンドラインアプリなんだから普通に使える GPLなので商用利用は問題なくできる ソース公開義務はrshにのみ発生する
- 763 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 18:59:19.29 ]
- rshの使用を強要される商用アプリなんか使いたくないな。
- 764 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 19:10:22.60 ]
- もうほっといたれよ
- 765 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 16:31:41.70 ]
- >>755
PuTTYのplink.exe使うと良いよ。
- 766 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 16:55:59.72 ]
- 怪しい物は使いたくないって言ってんだろカス
- 767 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 17:02:24.09 ]
- 超メジャーなんですけど・・・
Googleの検索結果 約 31,200,000 件 (0.13 秒)
- 768 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 17:04:08.41 ]
- あ、あと当然ながらソースも公開されてます。
www.chiark.greenend.org.uk/~sgtatham/putty/download.html
- 769 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 17:10:40.88 ]
- >>758
25万1週間ならどう?
- 770 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 17:12:33.96 ]
- こんなのも自前で作れない奴がソフトでお金を取るとか
- 771 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 17:16:23.00 ]
- >>770
人月いくらでやってるITドカタには、こんなレベルの奴腐るほどいるよ
- 772 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 17:20:34.26 ]
- html書けます!perl書けます!って
そこらへんの主婦でも書けるもんな アセンブラからC#みたいな今風のやつまで全部できる奴が欲しい あと、大規模なプログラムも設計できて、他人のコード読めて、数学ができて、コードが速く簡潔に書ける奴 俺のことだけど まあ、プログラミングの仕事したこと無いんだけどさ
- 773 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 17:21:23.11 ]
- もう少ししたら始めるんだけど、どのくらい稼げるのか楽しみ><
- 774 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 17:37:33.22 ]
- >>772
俺もできる。 ついでのハードもできる。
- 775 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 17:40:09.01 ]
- 初任給手取り16万がいいとこかな
- 776 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 19:09:21.94 ]
- マジかYO
- 777 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 09:35:17.82 ]
- ネットワークプログラミンクの話に戻すよ。
C#のWCF、やってみたらなかなかよかったぞ。 オイラ、(多分ここの住人も同じと思うが)バークレーソケットをこのスレの頭にあるような本で学んだクチだ。 SolarisやLinux、HP-UX、win32等の仕事で大いに役に立ったが、あのAPIっていまいち「イケてない」感があると思っていた。 RPCエンコとかもXDR,NDR,SDR,...統一されてないし。 WCFはイマドキな(httpやxmlなど、ヤレヤレって思うような)感じだが、少し対象レイヤーが上で、API構成に「イケてる」感がある。 機会があったら毛嫌いせずやってみるといいよ
- 778 名前:755 mailto:sage [2012/01/25(水) 16:43:56.75 ]
- 自作するのがただ単純にめんどくさかっただけなんだ
仕方ないんでC++でRSHクライアント自作することにした どこかRSHの詳しい通信仕様のせてるサイト教えろ
- 779 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 17:37:19.25 ]
- なんでplink.exeつかわんの?
アホなの?
- 780 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 18:38:50.55 ]
- >>779
それは上のほうですでに判明している。
- 781 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 20:10:19.95 ]
- >>778
多分オレに100万/納期1か月で依頼した方が安いと思うよ。w ホレ、仕様。 linuxjm.sourceforge.jp/html/netkit/man8/rshd.8.html
- 782 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 20:25:47.49 ]
- それのどこが仕様だよ
馬鹿じゃねえの
- 783 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 21:35:45.55 ]
- 残念ながらこれがberkeley伝来の仕様なんだ。これ以外には存在しない。
だから100万出せって。w
- 784 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 22:31:12.97 ]
- >>778 rfc1258.txr
- 785 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 22:32:34.89 ]
- >>778 rfc1258.txr
^^^^^^^^^^^^^^^^t の間違いだった
- 786 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 22:55:08.61 ]
- それはrloginだから違う。100万払う気になったか? w
- 787 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 22:58:26.93 ]
- webサービスでやったほうがいい
- 788 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 23:18:02.43 ]
- >>787
実際楽だしな httpsでパスつけりゃやりたいことはすぐ出来るしね
- 789 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 01:19:19.38 ]
- 質問に対し親切に教えているにも関わらす、まともに礼も言えないかまってちゃんは、徹底的に無視でお願いします。
荒らしをいつまでも構うのも荒らしです。
- 790 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 09:17:31.87 ]
- 今時、商用アプリでrsh使おうってくらいだから…
多分無能上司の下で働く、上司に輪をかけた無能なのだろう。
- 791 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 06:17:43.65 ]
- >>790
ちっさいちっさい視野でほざくなカスが。 特定の企業向けアプリケーションで、当然お客様にも了承済み。 ポートも開放してもらう。 ローカルエリアネットワーク内にアプリの乗った端末PCを入れて、 装置ワークステーション(以下W/S)に対して様々な通信処理を行う。 内一つの機能として、RSHを使用し、W/Sのシェルを実行して、 その結果を得る機能を提供している。 先日、RSHクライアントの仕様が掲載されている良い書籍を見つけました。 汎用的なRSHクライアントではなく、機能を限定した形で自作完了した。 以上、いろいろとご教授ありがとうございました。 徹夜明けなんで今から寝ます。
- 792 名前:755 mailto:sage [2012/01/27(金) 06:18:49.43 ]
- おっと、>>791は>>755です
- 793 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 10:06:50.40 ]
- rshの利用を検討したとき
まともな客:まともなSIer → (SIer)rshはやっぱダメですよね。(客)うんダメだね。 無知な客:まともなSIer → (SIer)rshはやっぱダメですよね。(客)そーなの? じゃやめとこう まともな客:素人SIer → (SIer)rshでいいですね? (客)寝言言ってるんじゃねー、帰れ 無知な客:素人SIer → >>791 ロシアンクラッカーの踏み台候補が一つ増えたって事だな。
- 794 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 12:43:40.59 ]
- だから相手すんな。話変えるぞ。
今の時代、パケットのエンディアンてリトルに合わせたほうが多数が幸せな気がする。 最近のビッグ陣営ってどことどこなの?
- 795 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 13:29:29.22 ]
- バカSIerの犠牲者を減らすためにバカっぷりを晒しておく必要がある。
「パスワード無しのサーバーと同等ですが、いいですね。情シスにも そのようなサーバを設置すると報告しておいてください。」と説明し て了承受けたわけでもあるまい。 > 今の時代、パケットのエンディアンてリトルに合わせたほうが多数が幸せな気がする。 バカ? エンディアンが混在するなんて真っ平御免だ。 既存のネットワークと一切無関係な世界作るなら勝手に作れ。
- 796 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 13:40:37.02 ]
- もうバイナリをやり取りするの辞めようよ
- 797 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 14:13:14.04 ]
- リトルエンディアンにするより遥かに現実的だな。
- 798 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 14:27:34.50 ]
- >>790
相手(サーバ)側の都合で、sh叩いてくれってのは今でもたまにあるが。
- 799 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 15:03:17.16 ]
- >>798
rshでなくsshでやれ といいたいんだと思うが、今時のrshはsshなのでどうでもいいかな
- 800 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 15:05:10.58 ]
- >>794
IP層とかTCP層とかがビッグ代表格じゃね?
- 801 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 16:31:41.71 ]
- >>799
え、そういう話? なら、そう言えばいいのに。
- 802 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 21:03:24.95 ]
- >>794
> 最近のビッグ陣営ってどことどこなの? 汎用機, power, 68k/coldfire, spark 辺りかな # メモリーマップの左上が 0 番地な big の方がドキュメント書くときは楽
- 803 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 22:19:19.09 ]
- 数字の表記もリトルエンディアンの方が便利だったような気もするなぁ。
- 804 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 02:06:59.57 ]
- >>802
良く落ちるスパークの綴りぐらいおぼえておいてくれよSPARCだよ
- 805 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 16:07:15.48 ]
- WinSock2.0でパケットキャプチャをしたいんですけど
WSARecvで受信した後、いろいろ処理してて次のWSARecvまでに 間があると取りこぼしちゃうみたいなんですけど 取りこぼさないようにする方法はないでしょうか?
- 806 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 16:09:45.79 ]
- ネットワークプログラミング以前の問題だなwww
- 807 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 16:17:41.59 ]
- >>805
間を開けずに次のWSARecvを呼べばよいです。
- 808 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 17:37:48.75 ]
- いろいろ処理を別スレッドにしてみました。
- 809 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 08:34:51.98 ]
- 取りこぼし減りました。でもやっぱり大量に来ると
だめみたいです。あきらめます。
- 810 名前:デフォルトの名無しさん mailto:sage [2012/02/25(土) 02:08:51.53 ]
- 質問です。
adobeのRTMPにて映像のストリームと音源のストリームをサーバーに送信したいと思っています。 OSはWindowsでクライアント環境は.Net(C#で組もうと思っています)です。 FluorineFxというのを見つけたので、中のサンプルを動かして見て接続はできたのですが、その先が分かりません。 (Misc\RtmpClient\WindowsApplicationというのを動かしました) 映像のストリームと音源のストリームをサーバーに送る方法が分かる方がいらっしゃいましたらお願いします。
- 811 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 12:40:41.57 ]
- >>799
> 今時のrshはsshなのでどうでもいいかな 油断禁物。普通に古典的なrshが入っているOSある。
- 812 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 13:26:57.91 ]
- 一か月近く前に終わった話題に、今頃になってトンチンカンなレスつけるってかっこ悪い。
- 813 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 13:58:26.64 ]
- >>812
お前がかっこうわるい。反省しろ。
- 814 名前:デフォルトの名無しさん [2012/02/26(日) 14:02:06.36 ]
- ja.wikipedia.org/wiki/Real_Time_Messaging_Protocol
wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/rtmp/pdf/rtmp_specification_1.0.pdf ここらへん調べてからやろうぜ? 最近ショートカットする奴が多すぎる ライブラリの使い方ばっかり上手い奴らな。そいつらに俺は駆逐されていくわけだ
- 815 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 16:37:28.68 ]
- ライブラリに限らない話だけど最近はちゃんと調べるのをさぼって
使い方だけ知って終わりにする奴が増えた気がする
- 816 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 16:56:23.74 ]
- いいんだよそれで
すべての人がすべてを知る必要は無い
- 817 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 20:09:58.76 ]
- でいずれ誰も知らないという時代が来るわけね
- 818 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 20:33:02.01 ]
- 料理は作れないがメシは食える
料理人が絶滅したらメシ食えなくなるかもな そのころには料理ロボでもできてるかもしれんが
- 819 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 22:13:18.24 ]
- 技術は継承されない
悪習は蔓延する
- 820 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 22:22:29.64 ]
- 継承できないのなら先人たる我々の力不足か元々いらないものなんだろう
- 821 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 13:02:12.73 ]
- winsockを使いたい奴はいると思うが、winsockの中身をいじりたい奴はあまりいないだろ。
全てを調べろというのは無茶だ。 っていうかソレ言うと、このスレの存在意義が無くなる。
- 822 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 14:33:05.61 ]
- 今度は中身をいじるとかわけわからんこと言い出すが出てきたなw
- 823 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 05:52:58.55 ]
- >>821
君はwinsockの全てを知っているといいたいのだな。
- 824 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 09:31:12.80 ]
- お前らは全部言わんと分からん子かw
- 825 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 03:12:14.21 ]
- そりゃぁ
お らは わんと からん かw 一部だと解らんがな?
- 826 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 03:35:55.61 ]
- 馬鹿には無理
- 827 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 10:18:11.66 ]
- 目クソと鼻クソが争ってるな。
2chもレベルが下がったもんだ。
- 828 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 21:41:38.61 ]
- ネットワークプログラミングをTDDでやろうとしていつも挫折するわ
- 829 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 19:20:08.31 ]
- TestDrivenDevelopment
- 830 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 22:33:39.26 ]
- >>828 RFC standard tracking 自体が TDD だと思うんだが
- 831 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 23:18:30.00 ]
- 思うんだが…と書かれても
- 832 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 10:15:03.37 ]
- >>830
思ってるだけじゃダメだろ! その思いをもっと表現しろよ!
- 833 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 11:50:48.54 ]
- マルチキャストについて教えてくれろ
239.255.255.6と受信設定した場合、239.255.255.6宛のマルチキャストのみ届くの? それとも、239.255.255.2、4、6宛のマルチキャストがすべて届くの?
- 834 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 19:15:14.69 ]
- 受けるほうがマルチキャストに対応してないといけないんとちゃう
- 835 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 19:45:17.56 ]
- >>833
joinしていれば239.255.255.6宛のマルチキャストのみ届く。
- 836 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 21:16:48.59 ]
- >>833
2と4はどこから出てきたのだ?
- 837 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 21:32:29.05 ]
- >>836
6からだろ
- 838 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 21:51:13.47 ]
- 192.168.0.255/24のブロードキャストアドレス場合、
192.168.0.255 & 192.168.0.X == 192.168.0.X が成立すればブロードキャスト範囲に含まれる!とかそういう発想でもあったのであろうか?
- 839 名前:デフォルトの名無しさん mailto:sega [2012/03/21(水) 16:26:23.89 ]
- 正式に名前解決が出来ないことが保障されているドメイン
ってなんだっけか。 なんかあったよね?
- 840 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 16:56:29.82 ]
- example ?
- 841 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 19:56:16.01 ]
- example.comは解決できます。到達も可能です。
- 842 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 21:19:42.75 ]
- まあいいや
chinko.unko とかぜったい解決できないだろ
- 843 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 01:00:35.06 ]
- ttp://suika.fam.cx/rfc/ja-translations/rfc2606-ja.html
は解決とは別問題だったような
- 844 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/03/29(木) 01:45:01.22 ]
- アッー!
- 845 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/29(木) 02:54:25.17 ]
- AIJ社長の詐欺罪を必ず立証する!
官僚が他人の金を盗んでしゃーしゃーと「年収7千万は問題ない」 などと国会答弁するんだから人権以前の問題だな 完全にトチ狂ってるw
- 846 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/29(木) 14:35:50.61 ]
- いかにうまく国民から巻き上げるかしか考えてないぞあいつら
- 847 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 09:51:35.77 ]
- UDPは以下の認識で合ってますか?
・送ったものが届かないかもしれない ・送った順番で届かないかもしれない ・受信されたものは受信側のPC内部で化けない限り正しい ・送られたパケットが重複して受信される事はない
- 848 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 11:30:11.36 ]
- 3. ヘッダのチェックサムを信じる限りは。
それじゃ信頼性低いという用途であれば、 自分で信頼性を確保しましょう。 4. 重複します。
- 849 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 12:08:40.85 ]
- >>848
UDPってエラーパケットは闇に葬る仕様だと認識してますけど どういう仕組みで重複するのでしょう?
- 850 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/01(日) 12:41:15.32 ]
- MAC層が誤認で再送することがある
- 851 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 12:53:26.45 ]
- >>850
ありがとう! Ethernetが大きなお世話をすることがあるのか。
- 852 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 13:02:36.98 ]
- あ、Ethernetのコリジョンチェックの誤認識で再送される場合があるってことか。
- 853 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 13:11:55.42 ]
- ・受信されたものは中継側で化けたりしてると受信側のPC内部で化けてる
- 854 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 13:19:05.09 ]
- >>853
え? CRC合わなくなるんで破棄されて届かないんでは?
- 855 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 14:20:22.56 ]
- 256分の1の確率でCRC合うんじゃないの?
- 856 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 14:53:31.15 ]
- CRCって16bitじゃないの?
- 857 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 15:24:49.90 ]
- Ethernetで使われるのは32bitのCRC
IPで使われるのが16bitのチェックサム
- 858 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 15:50:29.94 ]
- まあ細かいことはいいっこなしで
- 859 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 16:12:33.00 ]
- いや、細かいことも理解していないと
たまたま運がよくて動いているプログラムが出来上がる。
- 860 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 22:03:51.68 ]
- 信頼性あるもの使えよ
- 861 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/02(月) 15:06:50.87 ]
- >>849
IPやUDPの設計の基本は、 「(ルータ等が)こういう仕組みで〜してしまうことがあるから」ということじゃなくて、 ピアトゥピアのパケット転送で保証できないことは何も保証しないということ。 つまり中間がどんな馬鹿な経路であっても、(ただし邪悪"mal-functional"な経路は仮定しない) 端末と端末だけでできることのみ保証する。 これにより経路設計に自由度を与えている。その代わりにTCP層その他で頑張ってる。 この設計はEthernetから大きな影響を受けてる。 残念だけどこうなってしまったねということじゃなくて、 雑多なネットワークを様々な種類の経路で接続するための中間(inter-)ネットワークとして開発され、 自由度を最大限に発揮するために、理屈詰めで設計されている。 消極的ボトムアップ設計ではなくて、色々と概念整理した後の積極的トップダウン設計です。
- 862 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/04(水) 02:35:02.37 ]
- ハード屋だけどもバーストエラーあるから
ビット数から受ける印象よりも頻度高い。
- 863 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/04(水) 10:44:17.22 ]
- バースト読んでまだ入るからな
- 864 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/04(水) 11:33:05.82 ]
- ネットワークやるときはな、ガチでやるならな
相手が何をしてきても平気なように作れ 自分の家から出たらみんな敵
- 865 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/04(水) 11:54:08.92 ]
- >>864
RFC793にもそう書かれているな
- 866 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/04(水) 12:19:26.44 ]
- apacheのヘッダーが長すぎるとメモリバカ食いして落ちるみたいなバグあったじゃん
あんなの最初作ったときに想定しろっつーの
- 867 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/05(木) 16:44:02.72 ]
- サーバ側の一番単純な記述例=テンプレート、スケルトン等があるURLをお願いします。
単に固定応答でかまいません。 ですがシングルタスクタイプはNG 検索したのは複雑のばかりでした。
- 868 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/05(木) 16:45:16.64 ]
- >>867
toro.2ch.net/test/read.cgi/tech/1215352849/
- 869 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/05(木) 18:48:29.91 ]
- >>867
有名なところ www.kt.rim.or.jp/~ksk/wskfaq-ja/examples/basics/
- 870 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 12:50:47.92 ]
- ソケット通信によるサーバプログラムを書いている初心者です。
ノンブロッキングで複数のクライアントを待ち受けるとき select()を使うのとスレッドを使用するのはどちらがいいのでしょうか? 速度とか安全性とかそういう面も教えて頂きたいです。
- 871 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 13:53:06.93 ]
- OSは?
- 872 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 13:53:53.99 ]
- 処理そのものはマルチスレッドにしなくていいんだろうか
- 873 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 15:24:12.81 ]
- >>870
そんなん状況によるとしか言いようが無いだろ なので、メインロジックはどっちの方法でも動くように書いとく
- 874 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 18:19:02.52 ]
- >>870
aioも検討対象にしようぜ。 まあOSと言語によるが。
- 875 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 20:30:15.81 ]
- >>870
スレッドが良くわかっているとすると CPUコア数と同じスレッドとSelect()の組み合わせ
- 876 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 09:38:18.67 ]
- 謎なぞ?
複数クライアント同時処理したいとして、俺なら select方式にするならシングルスレでブロッキングでやるし マルチスレ方式にするならなおのことブロッキングでやるから 何言ってんのか分からん unix 系とwindows では公式リファレンスが「非同期」と呼んでるものがズレてるからos分からんと混乱するし 作る気あるなら手動かしてから○○が上手く行かないと 聞くはずだし 覚えたての単語で書き込みたかっただけか?
- 877 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 13:02:03.67 ]
- >>876
ソケットそのものはノンブロックにするのが基本だろ? なに言ってんだ?
- 878 名前:デフォルトの名無しさん [2012/04/14(土) 13:21:21.88 ]
- 1ソケット1スレッドならブロッキングで良いだろ。
- 879 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 13:40:34.41 ]
- ブロッキングにしたらブロックしちゃうだろ
何考えてるんだ
- 880 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 18:23:22.21 ]
- >>879
ブロックしちゃってもまずくなければブロックのままで良いのでは?
- 881 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 18:35:04.00 ]
- >>879
メインのスレッドが「accept()→別スレッドにブン投げ」くらいしか やることがないなら、ブロッキングで充分じゃないか。 (クライアント数が少ない場合)
- 882 名前: ◆QZaw55cn4c mailto:sage [2012/04/14(土) 21:47:15.74 ]
- >>881
ブロッキングだと自分の側からスレッドを終了できないのがつらいところ(通信相手から QIET みたいなのを送ってもらう、とか取り決めておかないといけない)。
- 883 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 22:08:04.59 ]
- >>876
例えばCPUが4コアなら4つのスレッドを立ち上げて それぞれのスレッドでSelect()処理を行わせて多重化する。
- 884 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 22:44:38.84 ]
- workerスレッド方式でやる場合、各workerがselect()するやり方って一般的だっけ?
そのとき、select()で監視するソケットは各workerに振り分けるんだろうか?それとも共通なんだろうか?
- 885 名前: ◆QZaw55cn4c mailto:sage [2012/04/14(土) 23:05:54.21 ]
- >>884
常識的に考えて select() はひとつ、read() した結果をみてから各スレッドにわけるんじゃないかい?
- 886 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 23:20:23.15 ]
- 俺はselect()はひとつで、そこで起きたソケットをworkerへ渡してそっちでread/write
するのが普通かと思っていたが。 >>883も>>885もやり方違うんだな。
- 887 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 23:28:07.94 ]
- listen(), Accept()がひとつでAccept()で起きたソケットをworkerに振り分けて
select()で処理すりゃ良いんじゃない。
- 888 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 23:33:52.94 ]
- いや、それだと1socket=1threadになるんじゃないか?
- 889 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 23:38:16.28 ]
- >>888
select()って複数ソケット守りできるんでは
- 890 名前: ◆QZaw55cn4c mailto:sage [2012/04/14(土) 23:46:01.90 ]
- >>888
サーバー側なら確かに 1 クライアント 1 スレッドになりますね。 hibari.2ch.net/test/read.cgi/tech/1295273862/27 codepad.org/wDEPkAtB
- 891 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 23:48:56.38 ]
- >>890
nクライアントmスレッドに出来るだろ・・・
- 892 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 23:49:10.41 ]
- >>889
そこで、1threadが複数のsocketを処理するworker方式で>>883はどうやってるんだろう というのが元の質問だったんだが。 新しくaccept()されたソケットを各workerのどれかに振り分けるとした場合、 ・1つのworkerが担当するソケットが複数読み書き可能になった場合、他のスレッドが遊んでいても 直列的にしか処理できない ・そもそも割り振られたworkerがselect()で待ち受け中の場合、新しいソケットを待ち受けることができない という問題がありそうに思えるけど。
- 893 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 00:53:55.45 ]
- >>892
パイプで渡すから問題ない
- 894 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 00:54:46.29 ]
- >>892
割り振ったworkerが偏っちゃった場合は諦める
- 895 名前:デフォルトの名無しさん [2012/04/15(日) 00:55:26.36 ]
- レイテンシのことでしょ
- 896 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 07:06:24.33 ]
- >>894
なのにそれでもworkerスレッド内でselect()したいという理由がわからないんだが。 他になにかメリットがあるんだろうか? それとやはり、そのやり方だと全スレッドがselect()でブロックされたまま新しいソケットを 処理できなくなることがあるように思うんだが。
- 897 名前:デフォルトの名無しさん [2012/04/15(日) 07:35:59.32 ]
- コルーチンで実装したことある
コルーチンの切り替え判断をC++のストリームに内臓させちゃって 結構使いやすいんだ
- 898 名前:デフォルトの名無しさん [2012/04/15(日) 07:42:15.64 ]
- でもなんだっけ、linuxでファイルをそのまま送るやつ。lighttpdの売り
カーネル内でなんかやってメモリコピーが減りましたってやつ 思い出したsendfileだ
- 899 名前:デフォルトの名無しさん [2012/04/15(日) 07:48:03.60 ]
- みみっちいよな。メモリアクセスがオーバーヘッドになることなんて
俺なんてサーバー作ったとき書きやすさのためにバッファ何層も重ねたぞ chunk用のストリーム、・・・用のストリームって
- 900 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 09:41:08.09 ]
- sendfileが軽減したのは、
単なるメモリアクセスじゃなくて、 カーネル/ユーザ空間間のコピーだよ。
- 901 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 09:49:33.87 ]
- >>896
リスナーのソケットをSelect()に入れればAccept()拾えるんでは?
- 902 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 09:56:02.40 ]
- そもそも、select()を使う場合は
recv()〜何かの処理〜send() が 短時間で終わらないと破綻する。
- 903 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 10:03:01.10 ]
- どれかひとつのスレッドでリスナーを待ち受ける場合、他のworkerに
処理を渡せない場合があることは変わらない。 それとも、全部のスレッドで同じリスナーソケットをselect()する?
- 904 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 10:05:51.25 ]
- >>902
そこでノンブロッキングI/Oですよ。
- 905 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 10:11:33.93 ]
- >>904
複数ソケットでそれを行うとselect()の再発明になる。
- 906 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 10:22:27.31 ]
- >>905
select()のかわりにノンブロッキングI/Oを使えと言っているわけじゃないよ? select()でトリガを受けて、read/writeをノンブロッキングでやるのが最近の流行。
- 907 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 10:45:26.33 ]
- >>903
今更何をw
- 908 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 11:08:40.66 ]
- >>907
今更と言うか、結局、>>883のように各workerスレッドでselect()するという場合 どのスレッドでどのソケットを監視することになるのか、これだけ質問しても よくわからなかったんだ。 今更というくらい明らかなことだったらちょっと教えてくれないか?
- 909 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 11:29:24.83 ]
- >>906
select()でトリガ拾うとrecv()/send()はブロックされないのでは?
- 910 名前: ◆QZaw55cn4c mailto:sage [2012/04/15(日) 11:41:59.98 ]
- >>906
>最近の流行 最近じゃない。初心者本 www.amazon.co.jp/dp/4874085032/ ですら昔からだ。
- 911 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 11:47:43.93 ]
- ソケット廻りって結構古いもんを引きずってるからね。
- 912 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 12:05:55.34 ]
- >>909
待ってれば読めるだろうけど多少なりともブロックされることはあるらしい。
- 913 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 12:54:56.19 ]
- >>912
WSAEWOULDBLOCK をスルーすれば良いのんか。
- 914 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 13:36:07.17 ]
- >>910
入門本に書いてあることが流行だと言ってる?
- 915 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 13:51:27.59 ]
- >>908
1スレッド100本くらいで100スレッドくらい これならそんなに無理なく1万本管理できる
- 916 名前:デフォルトの名無しさん [2012/04/15(日) 13:53:58.20 ]
- 1万コネクションサポートするのに1万スレッド作ったら問題あるのだろうか?
OSにもよるだろうけど。。。
- 917 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 14:03:06.10 ]
- 32bitOSじゃ無理。64bitならもしかしたら大丈夫かも。
- 918 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 14:09:25.25 ]
- >>916
無理がある気がするな。 Apacheなんかどういう実装になってるのだろう?
- 919 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 14:20:28.63 ]
- >>915
いや、そういう問題じゃなくて。 その100本のスレッドのうちリスナーを監視するのが1本なのか全部なのか? もしリスナーをselect()しないスレッドがあるとした場合、そいつらがselect()で ブロックしてしまう問題をどうするのか?ってことなんだが。 もちろん、100本もスレッドを用意したのに状況によって1本しか走れない ということも考えられるし。
- 920 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 14:23:15.17 ]
- >>919
そのselect()とやらが何をブロックするのだ?
- 921 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 14:39:07.53 ]
- >>917,918
そうですね。当然でした。 調べてみると、例えばWindowsのCreateThreadで作れるのは 最大で1プロセス2028スレッドとありました。
- 922 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 14:45:56.01 ]
- 当然そのスレッドを、だが。
もしかして、timeout=0でブン回すという使い方なのかな?これ。
- 923 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 14:51:37.06 ]
- >>922
そのスレッドでアイドリング処理をしないのならブロックしても問題なかろう。 recv(),send(),accept()の処理以外で何をするのだ?
- 924 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 15:05:42.39 ]
- いや問題あるだろ。
1スレッドが100ソケット受け持ったとして、そこで複数のソケットが読み書き可能に なったとしても他のスレッドは何もできないんだから。
- 925 名前: ◆QZaw55cn4c mailto:sage [2012/04/15(日) 16:52:43.69 ]
- >>914
入門書であること力点をおいているのではなく、1990年代の書籍であることに力点をおいています。 1990年代にしめされている手法が「最近はやっている」とは考えにくいでしょう、普通。 関係ありませんが、この本、ネットワークバイトオーダーに問題はあるものの、 fj でも一定の評価がついていましたね。
- 926 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 18:04:19.36 ]
- いやー、昔から使えたということと流行は関係ないでしょ。
一昔前ならわざわざ面倒なノンブロッキングI/Oを使うよりも 上の人のようにスレッド+ブロッキングI/Oの方が人気があった ような気がする。さらに前だとfork()が主流だったよねぇ。
- 927 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 18:27:54.74 ]
- 1992年でfjってのも微妙な話だなw
- 928 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 18:33:40.53 ]
- C10Kみたいなことが言われて、selectやpollの性能向上が始まったのが、
1990年代後半からだよ。本格的には2000年代入ってから。 マルチスレッド+ブロックI/Oやforkによる実装も普通に行われていた。 非同期I/Oの優位性は80年代から言われていたけど、(X11のプロトコルがそうだし) 低レベルAPIとして登場したのはその後だね。
- 929 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 20:19:03.11 ]
- >>924
そうならないように分配すればいい その上でどうしてもそうなったらあきらめればよろしい
- 930 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 20:20:01.53 ]
- >>919
リスナーは1本で。 各ワーカーにはパイプで適当にソケットを送りつければ良い。
- 931 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 20:26:49.72 ]
- select使うのにlistener必要?
分配にポリシーを実装する必要なければ、複数のworkerが直接同時にselectすればいい。
- 932 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 20:34:20.91 ]
- >>931
だれも待ち受けしなかったらサーバにならなくね?
- 933 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 20:38:39.05 ]
- >>924
>>902
- 934 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 20:40:52.10 ]
- スレッド1万あるよりはマシ
- 935 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 20:46:01.12 ]
- >>928
Winsock FAQ www.kt.rim.or.jp/~ksk/wskfaq-ja/articles/io-strategies.html には 「経験則3: select()は避ける」 とあるけど これの元ネタの英文はかなり古いものなのかな。
- 936 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 20:47:38.09 ]
- WIndowsのselectは性能悪かったしね。たぶん今もそうだけど。
- 937 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 20:49:17.95 ]
- >>935
winならそれでいいんじゃね? unixlinuxには選択肢ないからな
- 938 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 20:50:29.14 ]
- >>930
なるほど、やりかたはわかった。ただ、わざわざそうすることのメリットがよくわからないな。 activeなソケットの偏りで効率が落ちる問題は残るし、特にプログラミングが簡単になるようにも 思えないし。 >>929 「そうならないように」って、無理だろそりゃ。どのソケットがactiveになるか事前に判断できる わけがないし。
- 939 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 20:51:19.09 ]
- >>936-937
スレッド嫌いなのでselect()で実装してやったけど なんの問題もなくサクサク動いたよw Winsock FAQってWindows 9x の時代のものじゃないのかな。
- 940 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 20:51:57.12 ]
- UNIXだとfdが多くなったらselectより、poll, epoll, /dev/poll, kqueueでしょ。
意外にもfd maskのbit演算がボトルネック!
- 941 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 20:53:25.28 ]
- >>938
C10Kのようなのだとスレッドのオーバーヘッドのが大きくなるから。 クライアント数が少ないのならスレッド実装のが楽
- 942 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 20:53:27.29 ]
- 95系のselectは性能どころか仕様にも問題あった。
詳しくは古いwinsockのドキュメント読んでくれ。
- 943 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 20:56:10.86 ]
- >>931
こっちは同時select()か。全スレッド同時に起きるけど、mutexを奪った1スレッドだけが 処理するという形になるわけかな。
- 944 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 21:00:20.71 ]
- >>943
それではスレッドにする意味がないような。
- 945 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 21:06:57.74 ]
- >>943
違うよ。 同時selectしているスレッドの一つだけが起きる。 どれが起きるかはスケジューラ任せ。 自分で選びたいならlistener/schedulerを作らないと仕方ない。 read等も同様の仕様。ほとんどのUNIXが。
- 946 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 21:50:18.53 ]
- >>945
そうだっけ?それだとレベルトリガじゃないような気もするが、正直1つのソケットを複数のスレッドで 同時にselect()するなんてやったことなかったから勘違いしていたかもしれん。 であれば、どのスレッドにどのソケットを監視させるかという割り振りも必要なかったといことか。
- 947 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 22:03:10.33 ]
- forkするマルチプロセスサーバが一つのsocketで全員acceptしてますよ。
じゃないと同じポート番号にならないし。 もちろん起きるのは一つのプロセスだけ。
- 948 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 22:53:17.93 ]
- >>947
Unix 系はいいんだが, WinSock ってそのへんどうなってんの? # 明日から Windows でネットワークプログラムするはめになってしまった orz
- 949 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 23:07:41.22 ]
- >>938
1万スレッド起こせるならその方が楽だけどね 普通は無理っしょ
- 950 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 23:09:42.76 ]
- >>938
事前に判断なんて無理なので、無理しないで淡々と振り分ける。 偏ったらあきらめるか、ソケットを余力がある他のスレッドに投げる。
- 951 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 23:11:13.18 ]
- Winsockの場合は、対象となるWinsockのバージョンのドキュメントをしっかり読んでください。
特にXPでは〜、Vistaでは〜、7では〜との注意書きは必ず読みましょう。 読まない人はプログラム書くなと言いたくなるくらい細かい違いが多い。
- 952 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 23:11:39.79 ]
- >>940
今はそこはどうでもいい
- 953 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 23:18:52.51 ]
- >>945
これ本当?どこかにリファレンスがあるなら教えて欲しいな。 例えば、ソケットがread readyになって起こされたスレッドがreadしなかった 場合とかどうなるの?
- 954 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 23:25:42.66 ]
- 別に何も起こりませんが?
- 955 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 23:35:15.90 ]
- >>954
「何もない」があるのよ! epollとかでエッジトリガとかだと何もしないがゆえに 問題になることはあるかも
- 956 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 23:44:57.62 ]
- >>954
理解できないです。 select/pollはレベルトリガですよね? 起こされたスレッドがreadしないでsleepしたら同じsocketでselectしている 別のスレッドが起きない?
- 957 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 23:45:51.97 ]
- >>956
それでいいだろ Aのスレッドでなにも怒らないからBのスレッドで怒り爆発だろ
|

|