ネットワークプログラミング相談室 Port28
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2012/04/18(水) 17:15:34.85Programming UNIX Socket FAQ (日本語訳)
http://www.kt.rim.or.jp/~ksk/sock-faq/indexj.html
Winsock Programmer's FAQ (日本語訳)
http://www.kt.rim.or.jp/~ksk/wskfaq-ja/
関連リンクは>>2-10辺り
足りなかったら適当に付け足してね
前スレ
ネットワークプログラミング相談室 Port26
http://hibari.2ch.net/test/read.cgi/tech/1269343909/
関連スレ
ネットワークプログラミング雑談
http://hibari.2ch.net/test/read.cgi/tech/1235800707/
Java ネットワークプログラミング 【教えて!】
http://hibari.2ch.net/test/read.cgi/tech/1086238859/
0263デフォルトの名無しさん
2012/06/16(土) 23:19:49.73(ill-functionalなhostは経路上にいないと仮定しても)
そしてTCPスタックが馬鹿だと、自分では解決しづらいことがある。
どういう時に起きうるかというと、
ルータの次の経路のMTUが極端に小さいのに、
fragmentationの実装は必須でないので実装してない場合。
(reassemblyの実装は必須)
まあ要するに十分小さいパケットを送っていれば気にする必要はない。
TCPスタックが行なっている解決方法は、
"Fragmentation Considered Harmful"を。
UDPプログラマはこの程度の内容は知っておくべき。
LAN内でしか使わないなら、なんちゃってプログラミングでいいと思うが。
0264デフォルトの名無しさん
2012/06/16(土) 23:27:01.08それがキミの考える「本質」なの?
0265デフォルトの名無しさん
2012/06/16(土) 23:45:24.49君の答えは?
0266デフォルトの名無しさん
2012/06/16(土) 23:48:14.14人に説明を求めて解答が常に得られると思っている蒙昧な者も多い
0267262
2012/06/16(土) 23:52:49.670268デフォルトの名無しさん
2012/06/16(土) 23:56:16.24( ‘д‘)
⊂彡☆))Д´) >>267
0269デフォルトの名無しさん
2012/06/17(日) 00:02:38.85ここで言う「本質」が何を指しているかわからんから、この文自体が
何を言っているかわからないというだけだろ?
別に何か意味があるわけじゃなくて、なんとなくもっともらしい台詞を
書いただけなのかも知れんが。
0270267
2012/06/17(日) 00:06:22.970271デフォルトの名無しさん
2012/06/17(日) 00:06:24.02って言いたいだけだろ。
ここまでのレスで内容が具体的に書かれてないところ見ると、本当かどうかは
かなり疑わしいから、普通にスルーでいいんじゃね?
0272デフォルトの名無しさん
2012/06/17(日) 00:13:53.84君は質問者か?
0273デフォルトの名無しさん
2012/06/17(日) 00:20:41.170274デフォルトの名無しさん
2012/06/17(日) 00:24:37.070275デフォルトの名無しさん
2012/06/17(日) 00:25:28.46そんな事は、その具体的なレス番を示してから言うことだよ。
0276デフォルトの名無しさん
2012/06/17(日) 00:28:58.56スルーしたレス番を示してみな?
0277デフォルトの名無しさん
2012/06/17(日) 00:47:14.93>>273 理解できないからスルーしたんだろ
俺) 内容書いてあるレス番書きなよ
>>275 スルーしたレス番示せ
ひょっとして、馬鹿なの?
まあ、やっぱ脳内レスでしたというオチなんだろうな。
0278デフォルトの名無しさん
2012/06/17(日) 00:55:55.40スルーしたレス番を示してみな?
0279デフォルトの名無しさん
2012/06/17(日) 01:55:08.65それがわかれば十分、相手にした俺が馬鹿だったよ。
0280デフォルトの名無しさん
2012/06/17(日) 03:52:26.83udp要らないじゃない。
まあインターネットでudpで送ってもまず届かないから、lanやネットワーク管理者の管理下にある社内lan程度に留めとけってのは分かるけど。
0281デフォルトの名無しさん
2012/06/17(日) 08:44:55.63途中のreouterであえてUDPをブロックしたり優先度を下げているとかじゃなけりゃ。
0282デフォルトの名無しさん
2012/06/17(日) 10:18:43.710283デフォルトの名無しさん
2012/06/17(日) 10:32:45.220284デフォルトの名無しさん
2012/06/17(日) 10:35:48.730285デフォルトの名無しさん
2012/06/17(日) 10:37:13.45283=281?
0286デフォルトの名無しさん
2012/06/17(日) 15:21:18.06どのあたりが馬鹿なのか、解説してみろ。
0287デフォルトの名無しさん
2012/06/17(日) 15:59:09.14君のレス番は?
0288デフォルトの名無しさん
2012/06/17(日) 16:14:10.70>>281
0289デフォルトの名無しさん
2012/06/17(日) 17:04:23.57そこだけつっこんもしょうがねーだろ
馬鹿の壁
0290デフォルトの名無しさん
2012/06/17(日) 17:20:45.61馬鹿にはできない突っ込みの手本というものを見せてくれ。
0291デフォルトの名無しさん
2012/06/17(日) 17:37:32.280292デフォルトの名無しさん
2012/06/17(日) 17:42:04.990293デフォルトの名無しさん
2012/06/17(日) 17:53:30.34くやしいから何か言い返したくて「馬鹿」と言っているだけ。
0294デフォルトの名無しさん
2012/06/17(日) 21:00:40.40昔はFreeBSDの方が1.1倍いいと言われていたが
0295デフォルトの名無しさん
2012/06/17(日) 21:10:13.68今はFreeBSDの1.2倍いい
ちなみにWindowsは33倍いい
0296デフォルトの名無しさん
2012/06/17(日) 21:12:21.64根拠はある?
0297デフォルトの名無しさん
2012/06/18(月) 12:00:30.440298デフォルトの名無しさん
2012/06/23(土) 22:14:47.790299デフォルトの名無しさん
2012/07/17(火) 10:20:52.610300デフォルトの名無しさん
2012/07/20(金) 13:11:51.43ポートを開放しているPC-Aとポート未開放のPC-Bがあるとき、
1)B→Aに送信
2)Aは受信後、送信元(B)に送信
3)Bが受信
としたとき、2〜3番のA→BについてもUDPホールパンチングによって可能となった
と考えていいのかな?
0301デフォルトの名無しさん
2012/07/20(金) 14:21:42.490302デフォルトの名無しさん
2012/07/20(金) 14:38:36.30(1)についてもUDPホールパンチングによって可能となったと考えているのか?
0303デフォルトの名無しさん
2012/07/20(金) 14:57:51.74>>302
「も」は一般的に例に挙げられるポート未開放のクライアント同士の通信に対しての「も」だよ
0304デフォルトの名無しさん
2012/07/20(金) 17:37:03.54> UDPホールパンチングの説明ってポートを開放していないクライアント同士の例ばっかりだけど、
でないことが分かる。
0305デフォルトの名無しさん
2012/07/29(日) 23:11:40.41IPMsgみたいなことをやりたくて、
1.A機種でServerSocketを待受て、AからUDP送信
2.B、C、D機種で受信
3.B、C、Dで受信したパケットオブジェクトから、Aのアドレスを取得して、
各機種からAのServerSocketめがけてTCP接続
→ エラー発生(することがある)
結果、
・B、C、Dすべてで、応答成功
・B、CはAへ応答を返せたのに、DでだけNo route to hostが出る
・Dは成功したが、B、CでNo ry〜
みたいな症状が出ています
タイミング的なもんか?とは思うんですが、なんかよくわからん
・No ry〜が出るときは、DからAへのpingコマンドでnetwork unreachable、
・AからDへpingすると、接続が回復する(ように見える。次回アプリ実行時にNo ry〜が出ない)
・Dからarp who-hasのブロードキャストが出ているが、Aで受信せず、B、Cでは受信できている
stackoverflow.comでAndroid + No route to hostって質問がいくつかあるけど、
結局解決してないように見える
なので、2chで解決するべ
0306デフォルトの名無しさん
2012/07/31(火) 00:43:37.010307デフォルトの名無しさん
2012/08/05(日) 11:23:49.49ジャッチメント(規律委員)は全員しておくこと 1円でしておくこと
最新情報 大金をすべてしておくこと
下に、無限超を数字にして、沢山書いて、数十枚、数百枚、数千万枚、数千京京京にして、銀行や松井証券など
に提出、FAXすればいいよ。上に京万枚と書いておくこと
最新情報 大金
http://sky.geocities.jp/mannga9999/keizai2.txt
経営板で、アイスクリーム屋と、クリーニングの板見ればいい。
ほい。
http://yuzuru.2ch.net/test/read.cgi/sakura/1158988790/
あとは、財閥の登記するだけ。kore
これノウハウ。教えていってたから、教えたおん。よ。
まーちゃんに、募金すること
突っ張りすぎて、中国の元が無価値になっぞ。実態のない経済は滅ぶ 今、元はマイナス。
http://blogs.yahoo.co.jp/mymymy90jp/2857425.html
これ改造して、大富豪ソフト作れない?金のレートが下がる時は、レートも下がるので、落ちる角度を計算してMその前にもどす機能があると、世界不況のときにも、できる。
http://www.vector.co.jp/soft/dl/win95/business/se312001.html
探せば、ソフトあるよ。瀬谷貴文が完成させている。
絶対命令
http://yuzuru.2ch.net/test/read.cgi/sakura/1158988790/
http://yuzuru.2ch.net/test/read.cgi/sakura/1158988790/
http://yuzuru.2ch.net/test/read.cgi/sakura/1158988790/
http://yuzuru.2ch.net/test/read.cgi/sakura/1158988790/
http://yuzuru.2ch.net/test/read.cgi/sakura/1158988790/
http://yuzuru.2ch.net/test/read.cgi/sakura/1158988790/
masaの分もやっておくこと
depend on 銀行、matuisyouken monex
最後に、福祉財団、貧しい人を助ける財団をつくること
絶対命令 DC
0308デフォルトの名無しさん
2012/08/05(日) 14:13:01.430309デフォルトの名無しさん
2012/08/07(火) 11:42:50.66送信間隔は50msくらいなんですけどたまにパケットがロストします
特にsendtoはエラーを吐くわけでもなく普通に通信を続行してます
1時間に0から2回程度ロストする現象が起きます
このようなことはUDP通信では普通なのでしょうか?
なんとかロストしない方法があったら教えてください
0310デフォルトの名無しさん
2012/08/07(火) 11:52:18.15ロストしたらもう一度送ればいいと思います
0311デフォルトの名無しさん
2012/08/07(火) 12:17:29.49パケットヘッダのチェエクサムってのはルータを通るたびに変わるんですかい?
他にルータを経由してパケっどヘッダの中身で変わる可能性があるのは
Type of Service, TTL, Header Checksum, Option であってます?
0312デフォルトの名無しさん
2012/08/07(火) 12:32:14.800313デフォルトの名無しさん
2012/08/07(火) 12:50:16.33UDPはロストするもんです嫌ならTCPを使いましょう。
1:1の通信でUDPを使うメリットは殆どないと思いますけど。
0314デフォルトの名無しさん
2012/08/07(火) 12:58:17.65ど素人がアドバイスするのは100年早いですよ。
0315デフォルトの名無しさん
2012/08/07(火) 13:00:13.80NATとかフラグメントとか考えれば
もっといろいろ書き変わるけど。
0316デフォルトの名無しさん
2012/08/07(火) 13:00:39.69マルチキャスト/ブロードキャストよりユニキャストの方が圧倒的に
多く使われている。
0317デフォルトの名無しさん
2012/08/07(火) 13:02:56.60STREAMとDATAGRAMの差も理解できないバカですか?
0318デフォルトの名無しさん
2012/08/07(火) 13:05:05.69TCP(ストリームベース だけど、リトライ等である程度保障)
中間の SCTP ってのがあるけど… まだまだ普及してない印象
ある程度保障されたデータグラムのやり取り という用途は悩ましい
UDP でリトライ機構を考えるか, TCPでデータグラム単位に切り出す機構を考えるか
0319デフォルトの名無しさん
2012/08/07(火) 13:08:55.69>>313の一行目はいいと思う。
2行目は間違い。
0320デフォルトの名無しさん
2012/08/07(火) 13:10:46.780321デフォルトの名無しさん
2012/08/07(火) 13:12:24.73いいえ、50ms間隔で送信という要件が出てきた時点で
TCPが候補に挙がることはあり得ません。
1行目も誤りです。TCPの再送機構にだけ目が行き、
それによってどのようなパケットフローになるかがまったく
考慮されていません。
0322デフォルトの名無しさん
2012/08/07(火) 13:14:44.08逆に言うと
そのあたりがなければTOSとTTLくらいってことですか
ありがとうございました。
0323デフォルトの名無しさん
2012/08/07(火) 13:17:53.52全く解決できてないしw
0324デフォルトの名無しさん
2012/08/07(火) 13:18:27.96PSHフラグあるがな。
0325デフォルトの名無しさん
2012/08/07(火) 13:18:40.660326デフォルトの名無しさん
2012/08/07(火) 13:19:24.85> なんとかロストしない方法があったら教えてください
そりゃこれが直結しない限り解決不能だし。
0327デフォルトの名無しさん
2012/08/07(火) 13:26:23.22すごい結果が待ってる気がするw
0328デフォルトの名無しさん
2012/08/07(火) 13:26:27.330329デフォルトの名無しさん
2012/08/07(火) 13:29:51.9450msがTCPじゃだめでUDPならOKという判断がどこから出てくるのかと
0330デフォルトの名無しさん
2012/08/07(火) 13:31:20.43> なんとかロストしない方法があったら教えてください
の要件で
0331309
2012/08/07(火) 13:31:25.94直結でやってますけど1時間に1回くらいでる頻度を
3時間に1回とかもっと頻度を減らすことは無理ですか?
0332デフォルトの名無しさん
2012/08/07(火) 13:31:55.82回線上ではロストしていないことが前提だけど
SO_RCVBUFとSO_SNDBUFを増やしてみては?
0333デフォルトの名無しさん
2012/08/07(火) 13:32:30.84データサイズがわからないメクラはレス禁止
0334デフォルトの名無しさん
2012/08/07(火) 13:34:20.77OS、ネットワークHW、ドライバを厳選すれば頻度を下げることは不可能ではない
0335デフォルトの名無しさん
2012/08/07(火) 13:35:20.800336デフォルトの名無しさん
2012/08/07(火) 13:41:01.260337デフォルトの名無しさん
2012/08/07(火) 13:41:39.85PSHの作用としては正しいけど、そういう使い方をするものじゃないよ。
0338309
2012/08/07(火) 13:42:36.82使ったことないけどパケットキャプチャソフト使って監視して
ちゃんと受けてるのに消えてるならバッファ容量増やすってことですね
ちょっとやってみます
0339デフォルトの名無しさん
2012/08/07(火) 13:44:01.940340デフォルトの名無しさん
2012/08/07(火) 13:44:45.46netstat
0341デフォルトの名無しさん
2012/08/07(火) 13:45:23.360342デフォルトの名無しさん
2012/08/07(火) 13:45:51.47以下のような、定遅延で高品質なシステムを設計すれば可能かもしれない
・リアルタイムOSを採用して、通信プロセスが途中でスイッチされない優先度を設定する
・コンピュータとネットワーク全体を電磁シールドで包み込む
それが無理なら、素直に>>313が言うようにTCPを採用しなさい
0343デフォルトの名無しさん
2012/08/07(火) 13:46:05.06100%ロストしない環境は構築できないよ。
SATAやPCIEですらパケットロスがあるんだぜ?
0344デフォルトの名無しさん
2012/08/07(火) 13:46:34.10分かりました100年後にまたレスします
0345デフォルトの名無しさん
2012/08/07(火) 13:48:18.4550ms間隔で刈り取れることを前提にバッファサイズが950バイトに
なってるかもしれんw
0346デフォルトの名無しさん
2012/08/07(火) 13:49:09.660347デフォルトの名無しさん
2012/08/07(火) 13:50:59.8820msごとに950バイトのデータを送信って何に使うのですか?
しかもロストしないのが前提って。
0348デフォルトの名無しさん
2012/08/07(火) 13:53:07.950349デフォルトの名無しさん
2012/08/07(火) 13:53:47.93不明な用途では回答できないなら引っ込んでなよ。
0350デフォルトの名無しさん
2012/08/07(火) 13:55:27.97良いこと言った
0351デフォルトの名無しさん
2012/08/07(火) 13:57:18.36よく読まないメクラが多いな
0352デフォルトの名無しさん
2012/08/07(火) 13:58:29.350353デフォルトの名無しさん
2012/08/07(火) 13:59:34.790354デフォルトの名無しさん
2012/08/07(火) 14:00:33.130355デフォルトの名無しさん
2012/08/07(火) 14:05:04.321時間に1,2回再送するだけじゃないのよ?
0356342
2012/08/07(火) 14:07:31.25ん?50msという定数を速い or 遅い、どちらで判断しているのかな?
こういった定数は前提環境によって基準が変わるから、まずそれを明確にしてほしいね
自分としては、>>309に「信頼性のある(=ロストしない)通信」という要件が出てきた時点で、
第一候補としてTCPを選ぶよ
どうしてもUDP上の独自プロトコルを設計する価値のある極めて限られたケースであれば、
ようやくUDP選択を検討し始める
>>344
馬鹿のつまらんヤジはスルー汁!!
0357デフォルトの名無しさん
2012/08/07(火) 14:11:08.130358309
2012/08/07(火) 14:14:26.91Microsoft Network Monitor3.4で受信側PCを監視したら
パケットが届いていませんでした
これは完全にロストってことでどうしようもないですか?
まだロスト率下げる手とかあるんでしょうか?
余りプログラムを触りたくないのでUDPでやりたいんです
0359デフォルトの名無しさん
2012/08/07(火) 14:17:39.10再送ロジックを実装汁よ。
0360デフォルトの名無しさん
2012/08/07(火) 14:18:09.640361デフォルトの名無しさん
2012/08/07(火) 14:19:52.341パケット/1時間より高頻度で発生してるって事じゃん。
0362デフォルトの名無しさん
2012/08/07(火) 14:21:13.33■ このスレッドは過去ログ倉庫に格納されています