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/
852 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 06:22:32 ] クラサバシステムでどういうデータをクライアントに送るべきかって相談とも取れるからここでもいいんじゃないの
853 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 09:29:01 ] 板違いじゃボケ >プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。 >ウイルス、ハッキング・クラッキングを求めるような発言は禁止です。 >Javascript は Web 制作板、CGI は Web プログラミング板へ。 >業界談義、愚痴はプログラマ板へどうぞ。 >ゲーム関係の話題はゲーム製作板へどうぞ。 >ネタ、板とは関係の無い話題はご遠慮ください。
854 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 10:50:01 ] yahohho- yahhohho- no-bura yahho-
855 名前:デフォルトの名無しさん mailto:sage [2008/12/22(月) 09:32:05 ] >>852 >クラサバシステムでどういうデータをクライアントに送るべきかって相談 「誰か設計からやって下さい」と同義だぞ、それは。
856 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 10:42:32 ] リアルタイム性を求められるネットワークプログラミングでは TCPを使うべきかUDPを使うべきかどっちが良いのでしょうか
857 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 10:49:00 ] どういうリアルタイムだ? 1日以内に届けばよいというリアルタイムもあるぞ(コンビニ売り上げ集計とかな) どの程度(頻度・量)の通信があるのか? 端末・経路のハードウェアはどの程度の性能か? とかいう要素で決まってくるものだとおもいなされ
858 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 10:54:21 ] >>857 1秒間に300000パケットを転送する程度です。
859 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 11:01:12 ] 1回の交換に必要なのが 300000パケット で 1秒周期に交換作業を行う ってことかな?
860 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 11:11:23 ] 通信する距離の問題ももちろんあるけど 1/10秒以内の間隔でデータやりとりするならUDP、それ以上の間隔なら両方作って都合いい方使えって感じ
861 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 11:14:46 ] それにしても速度が要求される通信だとテストする環境とかネックだな LANだとTCPでも速度出るし
862 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 14:39:24 ] 遅延装置を使え
863 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 15:52:07 ] 遅延装置って何ですか?
864 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 16:28:26 ] 奥歯にしこんであるスイッチを噛むんだ
865 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 16:40:23 ] それ自爆装置やw
866 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 16:41:18 ] あ、かそくそーち!のほうか
867 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 17:02:20 ] ワロタ
868 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 18:24:19 ] 悲しいアホ達でした
869 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 21:34:05 ] なんかランドセルみたいな宇宙人?を背負うと 周りの連中が遅くなるって漫画あったんだけど、 なんだっけ?周りの連中からは速くて見えない。
870 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 23:53:37 ] 子泣きじじいを背負えば遅くなるってのは聞いたことがある。
871 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 01:22:05 ] 童話のうさぎとかめにでてくるかめは宇宙船だったらしいね 時間が止まってる間に竜宮城で酒池肉林 玉手箱開けて老人になったけどあれは時間が元に戻っただけ
872 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 01:40:47 ] なんだその餌は 出直せ ぱくっ
873 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 11:35:58 ] 宇宙船で時間旅行したっていう話じゃなかったか
874 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 22:49:10 ] なんでウサギとカメの話に竜宮城が出てくるんだ?
875 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 23:06:16 ] てきとーなIPとポートにsendして、相手が受信しなかった場合 そのデータはどこに行きますか?
876 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 23:32:26 ] 消えます。 さらにICMPメッセージが帰ってくることがあります。
877 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 00:02:31 ] 誰が消して誰がICMPを送ってるんですか?
878 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 00:24:46 ] 1. ルータやホスト。(TCP/IPの前提) 2. その人。
879 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 00:32:52 ] 消えるってことは残って誰かの迷惑になるというわけでもないってことでしょうか?
880 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 00:40:26 ] 相手が受信しなかったときって具体的に何だ? recv/readしなかったときか? それはTCPが受信してバッファにとりあえず入れとく。
881 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 00:47:41 ] >>878 ええ?OSやIPのライブラリ(ソフト)じゃないですか?
882 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 01:19:33 ] TCPの場合だとコネクトした状態でsendを行ってrecvを行う前に切断してしまったケースとか UDPならrecvしなかった場合とかです
883 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 02:38:32 ] 1のような仕組みはあえて仕込まない限り知らないが、 2はアタック検知したユーザが誰だよてめえと思ってみるということかなぁと。 でも俺ならdigする。んで、80番にアクセスすることはあるけどnmapは滅多にしない
884 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 03:14:10 ] sendした以上、相手には届いている。
885 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 05:07:30 ] sendしただけでは自分のTCPスタックの中にとどまっているかもしれなくね?
886 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 20:15:46 ] バウンスしたら迷惑だろ
887 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 20:40:46 ] >>877 NET UNREACH 郵便局(ルータ)の中の人「なんだよこんな番地(ルーティング)存在しねーよ。宛先が存在しません、と…」 HOST UNREACH 郵便配達(エンドルータ)の中の人「このマンションにこんな部屋番号(mac address)存在しねーよ。宛先に届けられません、と…」 PORT UNREACH 家の人(ホスト)「『ひろゆき様へ』って…誰だよそんな奴(port)この家にいねーよ、と…」 PROTOCOL UNREACH ニホンゴワカリマセーン 他にもいろいろあるけどこんな感じ。
888 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 20:47:11 ] ローカルIP宛てのパケットを外に出しちゃったら 消えずに迷子になるから迷惑って聞いたんですけど 結局どこに行きますか?
889 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 20:50:47 ] 冥王星あたり
890 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 21:17:06 ] プライベートアドレスでなくても あて先が突然切断したりしてルートを見失った場合、 パケットは TTLがなくなるまでたらいまわしにされる? それとも最も近くにあったルータまで行ってそこで見なかったことにされる?
891 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 21:25:49 ] ルータやホストはいつでもパケットを捨てていい。 最大努力配送が期待されているだけ。 これがTCP/IPの基本的な原則。
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バイトのパケットを送り続けるとかやったんでしょ? テストコードとしてはやりがちだからね。 でもこれだとポロポロ落ちるんじゃね? スリープ入れないと。