- 1 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 21:09:04 ]
- 主にソケットに関しての質疑応答スレッドです。
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辺り 足りなかったら適当に付け足してね 前スレ ネットワークプログラミング相談室 Port20 pc11.2ch.net/test/read.cgi/tech/1186418855/ 関連スレ Java ネットワークプログラミング 【教えて!】 pc11.2ch.net/test/read.cgi/tech/1086238859/
- 892 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 21:52:27 ]
- IPパケットが(何かの力によって)勝手に消えて、ネットワークのせいでいつまで経っても自ネット・目的先へ届かないってことはあるけど、
そういう時はTCPは再送信が送信元にいくからいいけど、UDPはICMPで再送の通知がされるの?もしかしてもみ消し?
- 893 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 21:55:07 ]
- UDPだと、UDPパケットが消滅したとき、ルータが必ずICMPとか何か使って再送してねの再送要求を送信先に必ず送るんでしょうか?
それとも、このパケットがちゃんと届いたかどうかもアプリの方が管理するんですか?
- 894 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 21:57:32 ]
- UDPは何も言わずに捨ててよい
- 895 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 21:58:34 ]
- UDPはアプリの方で管理
- 896 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 22:04:02 ]
- パケットの消失は、基本的にはルータやエンドで処理しきれず捨てられるか、寿命が尽きるかのどちらか。
sendしたパケットが相手に届いてちゃんと受けとればけば、recv使用がしなかろうが、TCPのバッファには残る。
- 897 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 22:13:26 ]
- 最近はファイヤーウォールももみ消すよ。
>>893 ICMPもなくなる可能性があります。 基本的に、パケットがなくしてしまってもいいから、 どんどんネットワークをつないでいくってのがInternetの設計方針。 送信保証はエンドツーエンドでやる。つまりサーバとクライアントの仕事。 なくしていいよってことを認めないと、 PC買ってきて家ですぐにつなげなくなる。 電話みたいにISPのルータでの設定が必要になってしまう。 そういうネットワークはみんな滅亡した。 自分でやるのが面倒なプログラマはTCPを使うべき。 まともな再送機構作るのはかなり難しい。
- 898 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 22:26:37 ]
- UDPは消える
ヤバイくらい消える ローカルなネットで2台しか繋がっていないテスト環境でも消える っつーか取りこぼす
- 899 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 22:29:10 ]
- そりゃ送りすぎなんじゃないの?
- 900 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 22:30:39 ]
- でも最近では、バルクデータもUDPで送るようなソフトが出てきてるよな。
SINET等の高速回線ではそのほうがいいらしい。
- 901 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 22:33:22 ]
- >>900
> SINET等の高速回線ではそのほうがいいらしい。 TCP実装するくらいの実力があればね。
- 902 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 22:46:56 ]
- d.hatena.ne.jp/asin/4774136042
- 903 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 23:16:05 ]
- みんなクリスマスの夜だというのに饒舌だなぁ。
もういいから彼女の元に戻ってやれよ
- 904 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 23:53:05 ]
- >>901
imihumei
- 905 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 23:55:33 ]
- 状況によりけりだろうな。
SINETでもノードによっては遅延がでかいし。
- 906 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 03:47:52 ]
- UDPの方が意図通りに組める
- 907 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 05:00:00 ]
- 新規にブラウザのレンダリングエンジンを作りたいんですけど、
とりあえず何が難しいのか分からない
- 908 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 05:15:35 ]
- ですよねー
- 909 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 06:24:24 ]
- 彼女いないし
- 910 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 09:25:06 ]
- >>907
頼もしいな。
- 911 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 16:01:10 ]
- >>898
それは単に送りすぎなだけだよw 通信対戦ゲーム作る時、いろいろな環境で実験したが 時々ごっそり消える(しばらく通じなくなる)が、普段は快適。って結果だったな。 最初ネットで拾ってきたテストコードでやったらごっそり消えまくって、UDPひでえって思ったけど、 単にそのテストコードがデータ送りすぎなだけだった。
- 912 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 16:29:43 ]
- データ送りすぎもいいけど、それはOSやルータ側が処理しきれないで破棄するっていう問題なのか、それともUDPの仕様(の限界)なのかってことじゃないのか?
極端に言えば「処理できるのは1秒に1パケットだけだからそれ以外は破棄よ」ってこともありえる(例えば同期の問題とかで)。
- 913 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 16:33:49 ]
- 送りすぎってのは一回の送信で沢山送ろうとしてるだけなんでは?
それならバシバシ消えると思う
- 914 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 20:55:05 ]
- ビジーループみたいなループの中で100バイトのパケットを送り続けるとかやったんでしょ?
テストコードとしてはやりがちだからね。 でもこれだとポロポロ落ちるんじゃね? スリープ入れないと。
|

|