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/
216 名前:デフォルトの名無しさん [2011/03/30(水) 16:47:20.77 ] ちょっと質問いいですか。 ここの掲示板でaurasoul.mb2.jp/_shk/ 書き込むと名前の横にIDが自動的につくのですが、 このIDを変える事はできませんか?プロバイダーが変わっても串を刺してもクッキー消しても変えられない。手軽に変える方法は無いですか?
217 名前:デフォルトの名無しさん mailto:sage [2011/03/30(水) 19:22:16.64 ] ,. ' ´  ̄ ̄ ̄ ̄ ̄ `ヽ、 / / \ / / \ / /―――――――――イノ / /: : : : : : : : : : : :| | ,' ,∠ __________/ | | <__:.:.イ:.`メ、/|:/ |:./\レ:.:.〈 | ノ! |/リレ',ィrそド"´ レ ィチxV:.!:.V} /| /!:.:.! 〈. トzリ トzリ }:!::Nリ / /ソ:.:.i xx`¨´ , `¨x{:从 } / //|:.:.込、 /:.|.ハ∧ なんかわたし / /厶|:.:.|\ ヽ、 r つ ,. く:.:.:! ∧ ヽ 呼ばれた気がするんだよ? / / |:.:.|::::::> ミ 、 <} |::.:| ヽ. } /i 〃 レ‐‐く\  ̄´ /::! !:.:<フ二ヽリ ./ // / /⌒く:\ イ:::::| |:. 厶--、 } / / ( /,. ┤:::::ヽ /::::::| |:.厶--、 /
218 名前:デフォルトの名無しさん mailto:sage [2011/03/31(木) 00:24:27.59 ] どんなパケット形式を使うにしても、 (a)循環参照をどうするのか (b)同一値のエントリが2個以上あるのか とか、 そのシステムではどうなのかちゃんと 調べて設計の前提条件にしないとダメよ。 ーーーー リンクリストは後にして、まず文字列のポインタで例だそう。 1エントリに 固定長サイズの部分と可変長サイズの部分があるとするだろ。 struct Hoge { uint32_t num1; uint32_t num2; char *str1; char *str2; } したら、俺ならこの1エントリに対して例えば
219 名前:デフォルトの名無しさん mailto:sage [2011/03/31(木) 00:26:08.56 ] |----+----+----+----| |entrySize-------| //パケット独自項目 |num1------------| //ここから固定長部分 |num2------------| |str1Offset------| //データとパケットで違う項目 |str2Offset------| //データとパケットで違う項目 |str1の中身........| //ここから可変長部分 |.....文字列おわりnull| |str2の中身........| |.....文字列おわりnull、4バイト切りいいところまでnull| とかの形でパケット化するんだわ。 受信側は、 entrySize分のメモリを用意して、 num1〜str2の中身をコピーして、 str1Offsetとstr2Offsetの値を書き換えてやれば struct Hoge のできあがりと。 これは例だからもちろん他のやりかたでもよし。
220 名前:デフォルトの名無しさん mailto:sage [2011/03/31(木) 00:28:53.06 ] で、循環参照や重複エントリはないシステムだとして、 双方向リンクリストだったら、 エントリ->前,次 と書くとして e1 -> null, e2 e2 -> e1, e3 e3 -> e2, null をパケットで表現したければ、パケットにはアタマから ヘッダ(エントリ個数3、とか) e1 e2 e3 とならべる。 それぞれのポインタを指すフィールドには、パケット先頭からの e1,e2,e3先頭のオフセットを格納しておけばよい。 ヘッダがあるからnull値と先頭エントリの区別はつく。 つたわるかな?
221 名前:デフォルトの名無しさん mailto:sage [2011/03/31(木) 00:29:27.02 ] >>219 offsetって何?
222 名前:デフォルトの名無しさん mailto:sage [2011/03/31(木) 00:37:22.68 ] offset くらいググろうよ(;-;) 昨日の書き込み見てもわからん? どんなシステムでも使えてかつ高速な、夢の方法はない。 どんなシステムでも使いたきゃ 実行コスト払ってXMLなりJSON使う。 [アドレス固定]の話は...man shmat 参照。 でも使える場面はかなり限定されるよ。
223 名前:デフォルトの名無しさん mailto:sage [2011/03/31(木) 00:41:36.98 ] >>222 ごめん、質問が悪かった。offsetを何に使うのか。 データさえわかってしまえば、送り先のメモリアドレスな んて必要ないと思っただけ(offsetってそういう意味じゃない?)。 json,xmlならそんなことしないから使い道が気になっただけ。
224 名前:デフォルトの名無しさん mailto:sage [2011/03/31(木) 00:42:51.63 ] ごめ、「送り元」のアドレスだったorz
225 名前:デフォルトの名無しさん mailto:sage [2011/03/31(木) 00:42:56.74 ] 循環やら重複エントリを扱いたかったら、まずはその元データについて 全エントリを重複無くたどるアルゴリスムを考えてみれ。 ソコまでできればあとは楽勝だろ。
226 名前:デフォルトの名無しさん mailto:sage [2011/03/31(木) 00:52:36.29 ] 受信したマシン上で、struct Hoge を再現するんだろ。パケットではoffset を入れてるところに、受信マシンがアドレス値を上書きして、struct Hoge * として読むんだよ。 C言語はわかってるんだよな?
227 名前:デフォルトの名無しさん mailto:sage [2011/03/31(木) 01:00:19.13 ] あああ、疑問点わかった。 ウム、文字列途中にnull が入らないことが確定なら確かに値だけでも 問題なく伝わるね。 それでもイイヨ。受信データと再現データを完全に別にするなら。
228 名前:デフォルトの名無しさん mailto:sage [2011/03/31(木) 01:09:57.65 ] あああ、意味分かった。 num1からstr2をまるごとコピーして、各offsetに コピーしたstr1, str2のアドレスいれれば再現可能って訳ね。 で、可変の場合は各エントリのoffsetをたどって同じこと 繰り返す、と。失礼した。
229 名前:デフォルトの名無しさん mailto:sage [2011/03/31(木) 10:28:01.02 ] 教えてください。 linux の snmptrap や snmpinform などのコマンドで、data binding 部のデータの型を i:整数、s:文字列 みたいに指定するのだけど、Opeque や NsapAddress を指定することは可能でしょうか。 ↓コマンドで指定できる型を参考にした場所(表3) www.itmedia.co.jp/enterprise/articles/0705/31/news042_4.html ↓snmp で指定できる tag の型を参考にした場所(表2) www.netwatcher.jp/snmp/snmp_main.html あと、inform は要求を受信した後に返す応答の送信先は 要求を送信してきた側の IP アドレスとポート番号でいいのでしょうか。 snmpinform で要求を投げて、以下の場所に返してみたのだけどタイムアウトになってしまいます。 ・受信したUDPソケット (当然?送信できずににエラーとなる) ・新規に作成したUDPソケットで要求を送信してきた側の IP アドレスとポート番号 ・新規に作成したUDPソケットで要求を送信してきた側の IP アドレスとSNMPの既定ポート(162) お願いします。
230 名前:デフォルトの名無しさん mailto:sage [2011/03/31(木) 10:39:19.10 ] net-snmpの場合、usage:にOpaqueで扱える型が出力される。 NETSNMP_WITH_OPAQUE_SPECIAL_TYPES定義でコンパイルされていれば。
231 名前:デフォルトの名無しさん mailto:sage [2011/03/31(木) 13:01:53.84 ] >>230 ありがとうございます。 usage に見当たらないので、、、残念。 inform の返信先についても、分かる方がいらっしゃったら教えてください。
232 名前:デフォルトの名無しさん mailto:sage [2011/04/12(火) 22:48:34.55 ] WinSockでUDPのプログラムを組んでるんですけど、 ポートはbindしてて、INADDR_ANYでsendtoしたときに、 実際にrecvする側で送信元として受け取るアドレスは、 送信元のどのアドレスなのでしょう? 「どの」っていうのは、送信元のマシンにはエイリアスで アドレスが複数追加されているので・・・ INADDR_ANYで送信するときって、送信元として入るアドレス選択に きまりはあるのでしょうか?
233 名前:デフォルトの名無しさん mailto:sage [2011/04/12(火) 22:53:17.51 ] bindしてれば、そのアドレス してなければ、出て行ったインターフェースのアドレス ただWinSockはいろいろ斜めを行くから…
234 名前:デフォルトの名無しさん mailto:sage [2011/04/13(水) 12:32:56.36 ] >>232 >INADDR_ANYで送信するときって、送信元として入るアドレス選択に >きまりはあるのでしょうか? ホストのルーティングテーブルでネクストポップを決定して、 そのネクストポップと同じサブネットのアドレス。 >>233 >してなければ、出て行ったインタフェースのアドレス 232が聞いてるのは一つのインターフェイスに複数のIPアドレス振ってる時の話でしょ。
235 名前:デフォルトの名無しさん mailto:sage [2011/04/13(水) 12:38:44.84 ] 同じNICに二つのIPアドレス振ってるときは 出て行くのはプライマリのIPアドレスからになる
236 名前:デフォルトの名無しさん mailto:sage [2011/04/13(水) 18:19:07.72 ] >>235 んなわけあるかい。 「プライマリの」なんて概念が前時代的。
237 名前:232 [2011/04/14(木) 00:35:43.37 ] >>233-235 ありがとうございます。 >>234 さんの指摘のように、1つのインタフェースに複数のアドレスが定義されている場合です。 >>234 > ホストのルーティングテーブルでネクストポップを決定して、 > そのネクストポップと同じサブネットのアドレス。 浅学ですみません。。。定義した複数アドレスが、同一ネットワークの場合はどうなるでしょうか? 基本的な質問で恐縮なのですが、なぜこういう質問をしているか、 >>232 の話をもう少し具体的に言うと @ サーバ : アドレス 192.168.0.20/24 さらに同じNICに対して、エイリアスで 192.168.0.1/24 を定義している A クライアント : アドレス 192.168.0.10/24 この状態で@→Aへ送信します。送信方法は>>232 に書いたように、UDPで、ポートは固定で指定、 ホストアドレスは INADDR_ANY で作ってバインドしてあります。 @でsendtoしてAでrecvfromしたとき、Aで受信したときの送信元(@)のアドレスがどうなるか?なのです。 というのも、@がWindowsXPの場合は、送信元アドレスが 192.168.0.20 となったのですが、 Windows7の場合は、192.168.0.1 となるのです・・・ >>234 さんの指摘をもらって、route print してみると、 確かに WindowsXP では、192.168.0.0/24 の interface が 192.168.0.20 となっているのですが(>>235 さんの言うプライマリですね) Windows7の場合は、192.168.0.0/24 の interface は 192.168.0.1 となっています。 Windows7の場合、アドレスが小さいものが interface に優先されてしまう?と疑問を持った次第です。 これまでXPで使っていたプログラムで、Windows7へ持っていくと動作が変わるので、 これをなんとかしたい、というのが背景です。
238 名前:デフォルトの名無しさん mailto:sage [2011/04/14(木) 06:30:29.12 ] INADDR_ANYをやめる
239 名前:デフォルトの名無しさん mailto:sega [2011/04/14(木) 15:29:36.22 ] Linuxのソケットで まだreadしてないたまっているバッファをすべて破棄するには どうするのが一番スマートで速くて格好いいデスか?
240 名前:デフォルトの名無しさん mailto:sage [2011/04/14(木) 15:43:31.87 ] select, readループ
241 名前:デフォルトの名無しさん mailto:sage [2011/04/14(木) 15:53:11.93 ] >>240 空読みが許されるのは童貞までだよねー
242 名前:232 [2011/04/14(木) 18:19:21.77 ] 自己解決しました。 結論から言うと、OSの仕様でした。(無印Win7しか確認していませんが) support.microsoft.com/kb/2386184 ↑のKBの修正Hotfixを当ててから、 netsh で skipassource=true にしてエイリアスのIPアドレスを 同一NICに追加してやると、プライマリ相当のアドレスで返ってくるようになりました。 またこのとき、route print すると Gateway と Interface がプライマリ相当のアドレスになることが確認できました。 >>236 さんの言うようにプライマリという概念がそもそもなくなってるともいえますし、 OSの動作が、XP/2003Server → Win7/2008R2 で変わったともいえると思います。 まあプログラム側がOSの仕様を決め打ちした動きになってるのが悪いんですが・・・w とりあえずOSのアップデートか、>>238 さんの言うようにプログラム側で対処するか、 どちらかで検討します。 お騒がせしました。
243 名前:デフォルトの名無しさん mailto:sage [2011/04/14(木) 19:55:54.78 ] くっそ ソケットに対してlseekするとエラーになるんじゃん!
244 名前:デフォルトの名無しさん mailto:sage [2011/04/14(木) 19:59:14.69 ] いやいやいやいや 常識的に考えて出来るはずなかろう?
245 名前:デフォルトの名無しさん mailto:sage [2011/04/14(木) 20:01:50.14 ] 向こうが shutdown で閉じてれば あるいわ… ってTCP限定の話になっちゃうか soket 閉じて開きなおすのはマズイのだろうか と戯言
246 名前:デフォルトの名無しさん mailto:sage [2011/04/14(木) 21:36:35.72 ] shutdownマナーはFAQです。よく読んでください。
247 名前:デフォルトの名無しさん mailto:sage [2011/04/14(木) 21:43:05.47 ] >>244 lseek を実装して、現在あるバッファを読み飛ばす(捨てる)だけは可 にすればいいんだがまぁ、対称性に著しく書けるインターフェースだわな
248 名前:196 mailto:sage [2011/04/14(木) 21:52:01.14 ] ソケットでのプロセス間通信について質問です。 AとBのプログラムで通信する場合ですが、こういう認識で合ってますか? プログラムA プログラムB ↑ ↑ ユーザランド -----|-----------------|--------- プログラムAの プログラムBの ソケット←ーーーー→ソケット カーネル
249 名前:デフォルトの名無しさん mailto:sage [2011/04/14(木) 21:52:44.84 ] ↑ 名前の196は関係ないです。 すいません。
250 名前:デフォルトの名無しさん mailto:sage [2011/04/14(木) 22:10:21.58 ] >>248 ええ。 まあ環境によるんですけど。
251 名前:デフォルトの名無しさん mailto:sage [2011/04/14(木) 22:13:46.39 ] >>250 例外もあるんですか?
252 名前:デフォルトの名無しさん mailto:sage [2011/04/14(木) 22:27:29.18 ] プロトコルスタックがカーネルにある必要は無いし、 逆に、インカーネルなhttpdとかありうるし。
253 名前:デフォルトの名無しさん mailto:sage [2011/04/14(木) 22:52:12.25 ] NFSサーバとかカーネル内にある。
254 名前:デフォルトの名無しさん [2011/04/15(金) 00:08:01.48 ] インターフェースがupされた直後に いくつかのソケットでconnectし始めるプログラムを実行すると 一番最初のconnectはつながるまで約3秒かかるのに ほぼ同時ながら別のスレッドでconnect呼ぶところではほぼ即座につながる ってことが起こるんですが、何が原因でしょう? あと、一発のconnectの待ちを短くしてやるにはどうすればいいでしょう?
255 名前:デフォルトの名無しさん mailto:sage [2011/04/15(金) 00:13:37.91 ] DHCPとかDNS引いてるんじゃない?
256 名前:デフォルトの名無しさん mailto:sage [2011/04/15(金) 00:18:31.32 ] ああすいません インターフェースは固定IPでupさせてます あと、接続もIPアドレス直です 1回目のconnectと2回目のconnectは同一ホストへの接続で ポート番号が1個違うだけなのに2回目の方が先につながるのが納得いかない。。
257 名前:デフォルトの名無しさん mailto:sage [2011/04/15(金) 00:27:05.93 ] ARPが必要だけど、そんな時間かからない。 OSは何?
258 名前:デフォルトの名無しさん mailto:sage [2011/04/15(金) 00:31:52.32 ] linuxです ひょっとしてarpテーブル見に行って該当無かったら arp投げて3秒後synリトライしているとか?
259 名前:デフォルトの名無しさん mailto:sage [2011/04/15(金) 00:35:34.94 ] ARP終わらなければパケット投げられません。 リトライになるはずないです。 ルーティング設定も手動ですか? DNSの逆引きが行われてませんか?
260 名前:デフォルトの名無しさん mailto:sage [2011/04/15(金) 00:36:19.85 ] ethersharkでパケットダンプすれば?
261 名前:デフォルトの名無しさん mailto:sage [2011/04/15(金) 02:23:27.15 ] >>260 ちょ、まじってる
262 名前:デフォルトの名無しさん mailto:sage [2011/04/15(金) 14:06:04.59 ] >>253 マジ?
263 名前:デフォルトの名無しさん mailto:sage [2011/04/15(金) 15:40:07.26 ] >>262 常識
264 名前:デフォルトの名無しさん mailto:sage [2011/04/15(金) 16:46:17.40 ] >>263 いや、今でも使ってる人いるの?
265 名前:デフォルトの名無しさん mailto:sage [2011/04/15(金) 16:50:47.51 ] >>264 うちでは、普通に使ってるが
266 名前:デフォルトの名無しさん mailto:sage [2011/04/15(金) 19:03:36.63 ] >>259 ルーティング設定も手動、DNSの逆引きは行われていないと思います。 >>260 wiresharkが使えればよいのですが 組み込み系かつWiFi直結間での通信なので・・・ とりあえずノンブロッキングで connect→close→connect ってすると即座につながったのでこれで良し?
267 名前:デフォルトの名無しさん mailto:sage [2011/04/15(金) 19:15:37.64 ] Peerも組み込み? PeerをPCにしてperrでwireshark動かせば?
268 名前:デフォルトの名無しさん mailto:sage [2011/04/15(金) 19:30:43.86 ] >>264 たとえばWindowsのIISのHTTPサーバーはカーネルで動作するように実装されてた。 パフォーマンス優先で設計すると、そうなる。
269 名前:デフォルトの名無しさん mailto:sage [2011/04/15(金) 19:43:28.92 ] されてたってまたユーザモードに戻されたの? カーネルモードに移動したのがServer 2003あたりの比較的最近だった気がするけど ちなみにLinuxにもカーネルモードのhttpdがある
270 名前:デフォルトの名無しさん mailto:sage [2011/04/18(月) 12:02:15.56 ] NFSもカーネルモードのがあったな
271 名前:デフォルトの名無しさん mailto:sage [2011/04/18(月) 12:06:45.71 ] あったなじゃなくて、元祖のSUNの実装がインカーネルなんだよ。 坊やならしょうがないけど、人前でそういう発言しな方が良いぞ。w
272 名前:デフォルトの名無しさん mailto:sage [2011/04/18(月) 13:56:48.22 ] >>271 システムコール呼んだら2度と帰ってこないって、あれだっけ? まぁ、当時はカーネルスレッドなんかなかったからなぁ
273 名前:デフォルトの名無しさん mailto:sage [2011/04/18(月) 15:36:01.74 ] >>271 元祖の話とかしてどうするの? 懐かしむの?
274 名前:デフォルトの名無しさん mailto:sage [2011/04/18(月) 16:29:33.47 ] NFS-3GもFUSEからカーネルに取り込まれたよ。
275 名前:デフォルトの名無しさん [2011/04/18(月) 17:03:04.79 ] >>273 しょうがないよ。坊やが生まれる前からある技術だから。
276 名前:デフォルトの名無しさん mailto:sage [2011/04/18(月) 18:05:41.66 ] 今はもう使われてないしなぁ
277 名前:デフォルトの名無しさん mailto:sage [2011/04/27(水) 10:01:35.90 ] おじいちゃんは昔話好きだからな。 今頃バブルの話とか太古のアイドルの話しても分からないってw nfsに限らずファイル周り呼んだら帰って来なく成るって多いorz 無線だと無線の物理層のリンクもいろいろごにょごにょしてそう。 ipで下位レイヤを気にせず使える分、いろんな状況を想定する事が求められる。 被災地の観測機器にパケット飛ばしたら、無線基地局が流されて消失してたとかね。
278 名前:デフォルトの名無しさん mailto:sage [2011/04/27(水) 10:55:57.72 ] 都会ね。
279 名前:デフォルトの名無しさん mailto:sage [2011/04/27(水) 17:18:18.60 ] ちょっとお尋ねします。 サーバからデータをpush送信したいと思いってます。 ちょっと調べた範囲では余りよく分かりませんでした。特にプログラミング言語で当該機能を実装するような具体的な例を見つけることができませんでした。 何かヒントとか、または、ここを 見れば分かりやすいよ、とかありましたら、よろしく願いします。 なお、サーバはwindowsでクライアントはandroidです。
280 名前:デフォルトの名無しさん mailto:sage [2011/04/27(水) 19:39:28.10 ] .NET framework4.0とC#で非同期TCPでソケット通信してバイナリデータの 送受信クライアントアプリ作ってみたいな〜 なんて思ってる人生の初心者です。 invokeとかBeginInvokeとかEndInvokeとかIAsyncResultとかもうちんぷんかんぷんです。 基礎からじっくりと使い方の学習してみたいのですが、お勧めは何かありますでしょうか? コードの断片だけじゃてんで頭にはいんないし、書籍は○○層があってだなとかフレームの中身の話とか で、言葉の定義で実際にはソケットよりもNIC担当の処理内容に紙面を費やしてたりと 意欲だけ空回りで、てんで前進してる気配がないので、お助けください。
281 名前:デフォルトの名無しさん mailto:sage [2011/04/27(水) 19:42:56.80 ] > invokeとかBeginInvokeとかEndInvokeとかIAsyncResultとか それはネットワークとは関係のないC#自体の話ではありませんか ネットワークの話とは分けて勉強した方がいいと思いますが
282 名前:デフォルトの名無しさん mailto:sage [2011/04/27(水) 20:02:26.51 ] 確かにそうかも。 送信した後に非同期で受信した側の処理を身に付けたいんですけど ソケットの使い方じゃなくて、非同期の勉強でつまづいてるってところが大きいですね。 非同期だとF10押していってもデバッグ出来ないですよね?別スレに行ってしまって。 どう試行錯誤していいのか、先ずそんなところから錯誤してますです。
283 名前:デフォルトの名無しさん mailto:sage [2011/04/27(水) 23:33:33.79 ] >>280 ぐぐれば非同期の作り方の例が出てくるよ。 でもスレッド作って同期でしたほうが分かりやすいし作りやすいと思う。 C#内容についてはこちらで hibari.2ch.net/test/read.cgi/tech/1302422250/
284 名前:デフォルトの名無しさん mailto:sage [2011/05/02(月) 16:12:32.87 ] winsockでプロセスが生成しているソケットを 列挙するようなI/Fがありますでしょうか?
285 名前:デフォルトの名無しさん mailto:sage [2011/05/02(月) 21:03:46.47 ] ない。
286 名前:デフォルトの名無しさん mailto:sage [2011/05/03(火) 03:56:32.35 ] >>284 WinSockには無い。 IP Helper APIを使う。
287 名前:デフォルトの名無しさん mailto:sage [2011/05/05(木) 04:39:15.21 ] ご存知の方いらっしゃれば助言頂ければ幸いです。 NAT越え関係のプログラミングを作らないといけないのですが 何をどうすればよいのやらで、行き着いたのが uPnPでのポートマッピングに行き着きました。 諸所の本、サイト等は見て回ったのですが、 「マルチキャストでM−SEARCH」の一点張り マルチキャスト(UDP)で送信しても受信側がどうしてもできない? ※sendtoでの戻り値状は送れていると思うのですが。 といった所で、このGWをほぼ潰す結果になりました(´・ω・`) 何か コレみれば(・∀・)イイ!! といった物はありませんでしょうか?
288 名前:287 mailto:sage [2011/05/05(木) 05:03:06.46 ] 補足:環境は、Win32のVC++です。
289 名前:デフォルトの名無しさん mailto:sage [2011/05/05(木) 09:27:46.55 ] >>287 Microsoft Windows SDKのサンプル。 google依存症だな。
290 名前:デフォルトの名無しさん mailto:sage [2011/05/05(木) 12:28:27.64 ] 無理(無駄)なことをしてるだけのような
291 名前:デフォルトの名無しさん mailto:sage [2011/05/06(金) 15:42:33.43 ] 使ってるルータがちゃんと対応してるかどうか調べたほうがいいよ。 それからどうでもいいことだけどUは大文字。Universal Plug a'n'd Play
292 名前:デフォルトの名無しさん mailto:sage [2011/05/12(木) 14:57:21.15 ] そもそもnat自体異常なインタ−ネットだからねえ。 せっかくの双方向性捨ててる。 natの内側からのコネクションの帰りにデータ詰めて流すしか無いと思うよ。
293 名前:デフォルトの名無しさん mailto:sage [2011/05/12(木) 15:06:16.39 ] >>292 > しか無いと思うよ。 そんなことはありません。
294 名前:デフォルトの名無しさん mailto:sage [2011/05/13(金) 04:55:32.28 ] じゃあどんなルータでも外から通る方法を示してくれよw
295 名前:デフォルトの名無しさん mailto:sage [2011/05/13(金) 10:11:57.94 ] >>294 natを使う
296 名前:デフォルトの名無しさん [2011/05/13(金) 13:53:09.20 ] 「natの内側から」という条件が「どんなルーターでも」にすり替わってる。 >>294 の低能ぶりがいかんなく発揮されているレスだ。
297 名前:デフォルトの名無しさん [2011/05/13(金) 15:30:54.66 ] プログラミングど素人なんですがど素人の状態からSNSサイトを立ち上げようと思ったらどれぐらい大変なことですか それとSNSサイトを作る場合のお勧め言語とかありますか? 詳しく教えてもらえると助かります
298 名前:デフォルトの名無しさん [2011/05/13(金) 15:38:59.87 ] ちなみに一人で立ち上げる場合です
299 名前:デフォルトの名無しさん mailto:sage [2011/05/13(金) 15:41:11.06 ] プログラミングする必要はない。 en.wikipedia.org/wiki/Social_network_service#Open_source_software 続きの話は、適当な板でやって。
300 名前:uy mailto:sage [2011/05/16(月) 03:07:15.98 ] SNS? Rubyが良いんじゃないかな。 Rubyはatpagesとかで動く 言語覚えたら1ヶ月で作れるんじゃね 飲み込み速ければ1週間じゃね Web技術はプログラム的難しさよりも動作環境を整える事が難しいけど ようは一行目に#!ruby なんとかってかいてファイル属性を755にしてrun
301 名前:デフォルトの名無しさん mailto:sage [2011/05/16(月) 04:24:51.16 ] 俺ならPythonで1日だ!!
302 名前:デフォルトの名無しさん mailto:sage [2011/05/16(月) 10:50:02.16 ] perlで3時間 ・・・てとこですかね
303 名前:デフォルトの名無しさん mailto:sage [2011/05/21(土) 00:25:49.46 ] それrubyで一行でできるよ
304 名前:デフォルトの名無しさん mailto:sage [2011/06/07(火) 22:55:40.15 ] テンプレにある「Webプロトコル詳解」って絶版なの? 前の職場で人のを借りてて良書だったし買おうと思ったら本屋に取り寄せられないって言われた。
305 名前:デフォルトの名無しさん mailto:sage [2011/06/08(水) 00:46:30.58 ] 本屋で理由を聞けよカス
306 名前:デフォルトの名無しさん mailto:sage [2011/06/08(水) 03:11:36.41 ] 恥ずかしくて聞けるわけねーだろボケ
307 名前:デフォルトの名無しさん mailto:sage [2011/06/08(水) 03:13:57.15 ] amazonに中古があるみたいだけど
308 名前:デフォルトの名無しさん mailto:sage [2011/06/08(水) 06:01:34.26 ] ほー、ブクヲフで見かけたら捕獲してみるか。 内容的には古過ぎて役に立たなさそうな気がw
309 名前:デフォルトの名無しさん mailto:sage [2011/06/08(水) 11:12:19.65 ] そういえば俺が差がしたときもネットの古本ですら在庫なかったわ。 しかも在庫切れ前野縁談結構してるところ多かったから 内容がいいだけに古本があまり出回ってないのかもな、 ブクオフのネットだと安かったが在庫なかった。 たまたまオークションでそこそこ安く買えたがラッキーだったのかね。
310 名前:デフォルトの名無しさん mailto:sage [2011/06/08(水) 11:13:21.62 ] タイプミススマソ >しかも在庫切れ前野縁談結構してるところ多かったから しかも在庫切れ前の値段結構してるところ多かったから
311 名前:デフォルトの名無しさん mailto:sage [2011/06/08(水) 21:16:37.81 ] IPv6Day は何事も無く終わりましたとさ
312 名前:デフォルトの名無しさん mailto:sage [2011/06/08(水) 22:55:12.40 ] >>304-309 良書ほど日本人の素人に取っつきにくくて、売れないのかね 絶版になったり、改訂版が出なかったりするんだよな 「UNIXネットワークプログラミング」も原書はとっくの昔に改訂されているのに 邦訳はいつまでも2版のままだもんな まあ良書は新しいことだけ自分でネットの文章などで補間しとけば今でも役に立つが、 新しいこと書いてあっても中身糞なのは役に立たないんけどなw
313 名前:デフォルトの名無しさん mailto:sage [2011/06/08(水) 23:04:56.64 ] >>312 3版って何がかわったの?
314 名前:デフォルトの名無しさん mailto:sage [2011/06/08(水) 23:25:04.09 ] >>313 IP V6関連の増補とか、SCTPやIPsecが追加されたとか、細かいところいろいろな。 第3版出たの9年前だが、いつまでたっても邦訳改定されないので、 2年後ぐらいに原書買ってしまったんだが、まさか10年近くたってもまだ出ないとは 思わなかったわw
315 名前:デフォルトの名無しさん mailto:sage [2011/06/08(水) 23:40:25.53 ] おおIPv6とSCTPか。ほしいな。 でもIPv6って10年前と今とでわりと結構違うくね? 第4版まで待って買うかね
316 名前:デフォルトの名無しさん mailto:sage [2011/06/09(木) 01:02:51.45 ] >>312 良書は必ず読むって層が英語で読んじゃうからね。
317 名前:デフォルトの名無しさん mailto:sage [2011/06/09(木) 04:51:47.78 ] 実際実装していく上での疑問点はrfcを確認することになるから、需要がある層が英語おkだったりして日本語版の必要性が低い。 ietfとかの国際会議で議論までしちゃう連中だと、日本語版を買う必要性も無いだろうな。現地で英語版買ってそのまま日本でも読み続けてると思う。
318 名前:デフォルトの名無しさん mailto:sage [2011/06/09(木) 15:33:13.82 ] 翻訳がひどいの多いしね。 全部カタカナにするだけでいいんだが・・・
319 名前:デフォルトの名無しさん mailto:sage [2011/06/09(木) 16:39:49.45 ] 固有名詞だとむしろ英語のまま残しておいてもらったほうがいいな。 エラーログまで和訳され手分けわかめなのと同じ。
320 名前:デフォルトの名無しさん mailto:sage [2011/06/09(木) 18:09:23.21 ] ルー大柴に監修してもらえばいいんだよな
321 名前:デフォルトの名無しさん mailto:sage [2011/06/10(金) 03:01:03.80 ] はいはい、翻訳ひどくてすみませんでした(AAry
322 名前:デフォルトの名無しさん mailto:sage [2011/06/10(金) 11:53:51.75 ] お前翻訳者か? 反省しろよ
323 名前:デフォルトの名無しさん [2011/06/10(金) 21:56:15.88 ] >>315 著者のスティーブンスが死んじゃったからなぁ。
324 名前:デフォルトの名無しさん mailto:sage [2011/06/10(金) 23:30:55.59 ] まじ? 最近名前を知ってる人がポンポンよく死ぬなぁ。 もうすぐオレも死ぬんじゃないか? って気になるわ。
325 名前:デフォルトの名無しさん mailto:sage [2011/06/10(金) 23:52:22.99 ] 経絡秘孔の入林を突いたお前はもう
326 名前:デフォルトの名無しさん mailto:sage [2011/06/11(土) 01:13:10.10 ] 一昨年、高校のときの担任が病死した 去年、大学のときのたばこ好きの先輩が食道癌になって逝った 今年、高校のときの同級生がバイクで事故死した
327 名前:デフォルトの名無しさん mailto:sage [2011/06/12(日) 00:36:34.67 ] ipv6を手がける様な人って経験豊富な高齢者だからよく氏ぬのか?
328 名前:デフォルトの名無しさん [2011/06/12(日) 01:52:12.81 ] itojunnも死んだよね。 ipv6は正にこれからなんだが
329 名前:デフォルトの名無しさん [2011/06/12(日) 03:07:19.32 ] .netFrameworkに追加されたparallel使ったTCPのsocket送受信サンプルって 参考になるサイトありませんか?
330 名前:デフォルトの名無しさん mailto:sage [2011/06/12(日) 04:17:27.59 ] >>329 ありません
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 です >>440 thxです 現在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のスレッドで怒り爆発だろ