1 名前:ftp-data mailto:sage [2007/08/07(火) 01:47:35 ] 主にソケットに関しての質疑応答スレッドです。 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 辺り 足りなかったら適当に付け足してね 前スレ ネットワークプログラミング相談室 Port19 pc10.2ch.net/test/read.cgi/tech/1159692799/ 関連スレ Java ネットワークプログラミング 【教えて!】 pc11.2ch.net/test/read.cgi/tech/1086238859/
348 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 10:52:27 ] >>347 > CISCOのルータ Firewallで捨てられてるとか? ルーターのicmpカウンタをチェック。 > PCだと ホストは必ずしも答える義務無し。
349 名前:デフォルトの名無しさん [2007/11/04(日) 11:22:08 ] >>348 ヒントありがとうございます、CISCOルータにて、ip mask-reply コマンドでMASKREPLY を有効にしたところ期待通りにプログラムが動きました、デフォルトでno ip mask-reply になっているようです。 PCでは答える義務無しですか、残念。 SNMP以外でネットマスクを取得する手段を考えていたのですが・・・ 考え直してきます。
350 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 11:48:20 ] >>349 > SNMP以外でネットマスクを取得する手段 MASKREQUESTって聞いているホストが使うべきマスクを問い合わせるのに 使うのでしょう? 問い合わされたホストのマスクを返すのではなくて。 昨今はDHCPで取得される情報なのでほとんど使われない機能。
351 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 11:52:28 ] RFC1812はデフォルトで答える事をMUSTにしてるので、お前が設定したのだろう。
352 名前:デフォルトの名無しさん [2007/11/04(日) 12:23:40 ] すれ違いで申し訳ないんですが、 googleでXXXを検索。 のように、webページに引数を渡す?みたいな事ってどうやればうまく できますか?
353 名前:デフォルトの名無しさん [2007/11/04(日) 12:34:23 ] >>350 勘違いしていました、指摘ありがとうございます。 たしかにそうですね・・・、実験で確認がとれました。 MASKREQUESTで問い合わせたアドレスのネットマスクを取得する考えは根本から間違ってました。 >>351 ルータ初期化して試してみましたが、デフォルトでno ip masu-replyになってました。
354 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 12:37:34 ] ヒント:URI、クエリ、GET要求
355 名前:デフォルトの名無しさん [2007/11/04(日) 13:53:11 ] >>354 ヒントありがとうございます! 大変助かりました!
356 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 14:15:27 ] >>353 iosのバージョンとかにもよるんじゃないの。 デフォルトのイメージが書き換えられてる場合もあるし。
357 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 14:16:09 ] おまいら、IOSとかCiscoの製品使える? やっぱネットワーク系のプログラム組んでる人間としてCCNAぐらい取っておくべきかな?
358 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 14:19:54 ] そんな暇あったら、カマー本やスティーブンス本読破すれば? 基本的な知識あれば、ルータ設定くらい簡単だよ。
359 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 14:46:40 ] 自分の力に自信が無くて 資格を求めてるんだろ。 取るのを勧めてやるのが優しさだよ。 もっとも俺ならプログラムなんてもう辞めろと言うけどね。
360 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 20:27:40 ] >>351 RFC1812が書かれた当時とは実情が変わるなんて良くあること。 ciscoのマニュアルによると。 ip mask-reply To have the Cisco IOS software respond to Internet Control Message Protocol (ICMP) mask requests by sending ICMP mask reply messages, use the ip mask-reply command in interface configuration mode. To disable this function, use the no form of this command. Defaults Disabled <<<<<< コマンドが導入されたのはIOS 10.0。
361 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 22:27:16 ] プログラマからみたIOSっていうとXMLみたいなもんだからなぁ
362 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 18:17:05 ] 全然違うぞw
363 名前:デフォルトの名無しさん [2007/11/10(土) 13:29:28 ] IPv4かIPv6かわからないときgetaddrinfoを利用し調べる方法が ttp://ja.wikipedia.org/wiki/IPv6の下のほうに書いてありました Windowsではws2tcpip.hに宣言がありました getaddrinfoへ渡したaddrinfoのai_addrを利用し、IPv4かIPv6のアドレスを取得すると思われるのですが ai_addrの型はsockaddrでその定義はwinsock2.hにしかなくそれは以下のようになっていました struct sockaddr { u_short sa_family; /* address family */ char sa_data[14]; /* up to 14 bytes of direct address */ }; これだと8*14==112で、IPv6アドレスを表すための128bitに足りないような気がするのですが思い違いでしょうか?
364 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 13:37:49 ] sockaddr_in6にキャストしてつかうんじゃね?
365 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 13:41:07 ] sockaddr sockaddr_in sockaddr_in6 でググれ
366 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 13:44:34 ] FTPの同時接続数とレスポンスをまとめたサイト知ってる方います? 並列は3回線くらいがいいのかな・・・
367 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 15:40:26 ] 環境によって違う。 >>363 もっとCの勉強した方がいい。
368 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 18:09:19 ] 計算もできない馬鹿がいるって 聞いて飛んできました どこどこ? u_shortが8bitってどんな頭してるんだよw 染んでこいよw
369 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 18:12:03 ] >>368 顔から火を噴きながらとんでけ
370 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 18:30:01 ] 氏ねとは言い過ぎだが レベルの低いやつは質問しない されても無視するようにしないか?
371 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 19:57:12 ] さすがに今ではshortが8bitってことはほとんど無いが・・・ 逆に16bitであり続ける理由も無いな
372 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 20:00:28 ] そう考えると結構恐ろしいんだよな プロトコルにつかう構造体はバイト単位じゃなくて オクテット単位か出来ればビット単位で定義すべきなんだよな
373 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 20:09:49 ] Cには2進表記すらない。 0b1_01110_00
374 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 20:10:40 ] >>371 殆どない、じゃなくて、規格上ありえませんが。 16bitより大きい可能性はあるけど。
375 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 20:14:32 ] 現実を知らず 教科書しか読まない奴は レスしない方がいいよ。
376 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 20:16:45 ] >>375 アホ表明ですか。毎度ご苦労様です。
377 名前:375 mailto:sage [2007/11/10(土) 20:18:34 ] >>376 俺はあほじゃねーよ 落ちこぼれなだけだ糞が
378 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 20:31:08 ] せめてageたら?(藁
379 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 21:10:59 ] >>374 いやいや、あるよ。規格上でも char≦short≦long なだけだし。 intに至ってはもっとひどい
380 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 21:14:39 ] 規格ではshortは-32767〜+32767を保証してなかったっけ?
381 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 21:20:41 ] >>380 ISO/IEC 9899によるとちゃんとその規定があるな つか規格読んでもshort intとshortの区別がつかねぇ・・・ longとlong intの違いって何? long long ago; ってそういうギャグを実現したかっただけ?
382 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 21:30:51 ] >>379 バカまるだし shortは16bit以上、longは32bit以上が必須
383 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 21:37:59 BE:1262592386-2BP(250)] どの規格のC? てかCじゃなくてC++?
384 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 21:40:46 ] 5.2.4.2.1 Sizes of integer types <limits.h> も読んだことない奴は黙ってろよ、ボケが。 www.jisc.go.jp/app/JPS/JPSO0020.html で X3010 な。
385 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 21:40:44 ] >>382 >longは32bit以上が必須 さすがにこの嘘はオレでも見抜く
386 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 21:43:06 ] ずっと384のターン
387 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 21:54:57 ] 知らないことは恥ではないし、バカにされる理由もない。 誰もが最初は知らないんだし、少なくとも俺は知らないという理由ではバカにしない。 恥なのは、知らないくせに知ったかぶって間違いをさらすこと。 嘘を言いふらして、周りにも迷惑をかけるし。
388 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 21:56:24 ] C89より昔のCプログラムはネットにつなぐな氏ねってことですかそうですか
389 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 21:57:45 ] もし>>379 と>>385 (と>>371 )が別人だったら笑える。 こんなにも恥さらしが何人も居るとは。
390 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 21:58:21 ] >>387 あんまり384をいじめるなよ
391 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 22:01:41 ] もしかして、>>387 と>>384 が同一人物だと思っているのですか?
392 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 22:03:37 ] >>388 発端となった>>371 は、「今では」と言っているので、昔の話は関係ありませんね。 「今のCの規格」で、shortのサイズが決まっているかどうかですよ。
393 名前:デフォルトの名無しさん [2007/11/10(土) 22:08:30 ]
394 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 22:09:21 ] >>392 昔の規格が使用禁止になったわけじゃないしなぁ。 ていうか、使用禁止にしてほしい。マジで。頼むよ。
395 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 22:14:06 ] 新規格を出せば後は野となれ山となれ
396 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 22:16:54 ] ふと思ったんだけど、C99ってみんなもう適用してる?
397 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 22:19:03 ] もう適用してる? (゚Д゚)ハァ?
398 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 22:26:57 ] >>397 冷静に考えたら適用って変な言い方かも。 つーか -std=c99つけるとコンパイル通らないコードとか けっこう多くてさー
399 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 22:33:08 BE:946944094-2BP(250)] K&R2版のANSI Cに従って書いてる。 つもり
400 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 22:36:04 ] 結局、 shortが16bitとは言い切れない時代の規格 が まだまだゾンビのように蔓延ってるってことか・・・やりきれんな
401 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 22:40:10 ] そんなの<limits.h>やsizeof使えば簡単に弾けるじゃん。
402 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 22:43:14 ] >>401 で?
403 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 22:43:29 ] >>401 弾いてどうすんだよwww コンパイル通らないだろwww そんなリファクタする暇と金は貰ってねーよwww サーセンwww という人が多いというかほとんどだと思う。
404 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 22:46:13 ] 弾いたら動かないだろw
405 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 22:49:50 ] >>400 のケースは新しく書いたコードをコンパイルするんでしょ? 希少な環境向けのコードは、必要に迫られてから実装すればいいのでは? コンパイルの失敗を安全弁にしといて。
406 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 22:53:12 ] >>405 いや、無理だな コンパイルが通ってしまって挙動が変わる のが怖すぎる 古ければ古いほどなおさら・・・ イァ イァ
407 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 23:14:48 ] #ifndef __STDC__ #error ばーか #endif つーか、まず「C89以前のコンパイラしかない環境」は無いし(GCC等のクロスも含めて) 例え「C89以前」だとしても、「それに加えてshortが16bit未満」なんてこと、ありえないよ。 世界中捜せば、pccを自分でコンパイルして常用している人くらいは居るかもしれないけどさ。
408 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 23:18:00 ] そもそも、C89、いわゆるANSI-Cだって プロトタイプやconst,voidなんかを導入したとはいえ、 「出来るだけそれ以前の処理系が規格違反にならないような規格」として作られたんだから。 intのサイズとか。
409 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 23:19:48 ] >>407 「C89以前のコンパイラしか使わせてもらえない職場環境」 は実在します
410 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 23:23:13 ] 12bitのDSPが御座いまして
411 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 23:25:15 ] H8Sとか普通に使うんすけど
412 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 23:42:45 ] へー、みんな、そんなにshortが16bitに満たない環境を使ってるんだー すごいねー
413 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 23:47:12 ] ここはネットワークプログラミング相談室 いつからC言語信者が語り合うスレに・・・
414 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 02:30:05 ] 407は自宅警備員?
415 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 02:33:28 ] うん
416 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 04:06:51 ] >>407 >「それに加えてshortが16bit未満」なんてこと、ありえないよ。 そういう世界に生まれたかった
417 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 04:17:13 ] 今からでも遅くはないZE っ脳内世界
418 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 12:05:04 ] とりあえずシロートは↓嫁 www9.plala.or.jp/sgwr-t/c/sec13.html
419 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 12:19:25 ] 已 学 了的「long」修 尺寸。 其 「long」用 略了「long int」的 述, 那个意 成「与int型同 比那个大」。 在同 里(上)表示「与int型同 比那个 小的」「short」(short int 的省略)也存在。 ANSI C short 和 long 的字 幅度被 理器托付,象只以下一 地 定着。
420 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 13:57:54 ] >>418 そのページの作者↓のページで扱える数値の範囲に嘘を書いているから信憑性ゼロ www9.plala.or.jp/sgwr-t/c/sec02.html#s2-2 × -32768〜32767 ○ -32767〜32767
421 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 14:03:33 ] つーか>>384 を読んでくれよ。 ここの部分は馬鹿でも理解できる記述になってるから。
422 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 14:07:49 ] >>420 お前それは本気で言ってるのか…(゚д゚)
423 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 14:13:04 ] >>384 でFA! あとはC言語スレで!
424 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 14:26:26 ] ほんとこういうくだらない話題のときだけは伸びるな
425 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 17:52:14 ] >>421 X3010ってC99のことじゃないの?
426 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 17:57:47 ] いやX3010のうちX3010:2003がC99相当
427 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 18:18:53 ] >>426 なるほど
428 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 18:20:21 ] intのサイズはどうでもいいというか決まってないよね?
429 名前:デフォルトの名無しさん [2007/11/12(月) 10:02:48 ] AcceptExの完了をGetQueuedCompletionStatusで捕捉できない・・・ その次のクライアントからの送信はGetQueuedCompletionStatusで捕捉できるのですが 第4引数のLPOVERLAPPEDはAcceptExに渡したのがきます。 >< 期待したのは メインスレッドでAcceptExを呼ぶ -> クライアントがconnectしてくる -> ワーカースレッドで呼ばれてたGetQueuedCompletionStatusが処理を返す -> クライアントが"Hello"と送る -> ワーカースレッドで呼ばれてた(ry という感じなのですが 実際は メインスレッドでAcceptExを呼ぶ -> クライアントがconnectしてくる -> まだGetQueuedCompletionStatusから返らず@ワーカースレッド -> クライアントが"Hello"と送る -> ここで初めてGetQueuedCompletionStatusが処理を返す となってしまします。 初めてGetQueuedCompletionStatusが返ったときのOVERLAPPED::InternalHighは5となっておりクライアントからの送信に反応したものと思われます。 AcceptExの完了を捕捉しないのが仕様かと思ったのですが ttp://www.codeproject.com/useritems/iocpwalkthrough.aspのコードを見てみるとワーカースレッド内にswitch文内をみるとsend、recvのみならずacceptも捕捉できることを 前提として書かれてるように見えます。 しかし実際コンパイルして実行してみるとやはり上記とおなじことになってしまいました。
430 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 13:13:54 ] いや仕様だし。
431 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 13:52:02 ] >>429 MSDN読んだら。 データを受け取るまで待ちたくないのなら、 dwReceiveDataLengthに0を渡すと良さげ。
432 名前:429 mailto:sage [2007/11/12(月) 16:22:13 ] >>431 おおおおおお ありがとうございます dwReceiveDataLengthに0を指定し期待していた動作を得られました MSDNのdwReceiveDataLengthの説明のところにもろに書いてありました 不覚orz
433 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 22:14:33 ] VB.netのUDPの使用について質問があります。 2台のコンピュータ間で互いに自身の画面をキャプチャして相手に送るソフトを作っています。 それを送信して、受け取り、見ることはできるようになったのですが、外部ネットワークとの通信ではうまくいきません。 恐らく、データの重さから途中でパケットが消えているのだと思うのですが…。 流石に現段階よりもさらにデータを少なくすると、とても見れたモノではないので、 パケット分割をして送信しようと思うのですが分割方法がわかりません。 ※ローカルネットワークではできています。 送信はキャプチャ画像を一旦メモリーに保存し、それをbyte配列に直して送信しています。 TCPは通信する相手との問題で採用する気はありません。 もし、出来ている時点までのソフトウェアのソースコードが必要なら自サイトにアップロードしダウンロードできる状態にします。 開発環境はVB2005、通信相手とはUDPを使用した単純な文字列のみのチャットなら出来ています。 よろしくお願いします。
434 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 23:02:36 ] >>433 うるせえボケTCPでやれ
435 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 23:10:59 ] UDPでやっていちいち検証するくらいならTCPの方がいい
436 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 00:59:48 ] それかRTPを使え。
437 名前:デフォルトの名無しさん [2007/11/13(火) 09:17:27 ] >433 ホールパンチングが必要ならTCPで外にサーバを立てろ。 遅延の問題ならTCPで多重化しろ。 単にFAQ読んでないだけだろ?
438 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 11:17:41 ] >>363 WindowsでのIPv6プログラミング講座 第1回 www.ipv6style.jp/jp/apps/20051024/index.shtml www.ipv6style.jp/jp/list/2005
439 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 16:12:57 ] >>434-437 返信ありがとうございます。 パケットの分割でなんとかなるかと思いましたが、思いのほか他の方法でする回答が多かったので、一から仕様を変更しようと思います。 ありがとうございました。
440 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 17:20:23 ] FTPでQUIT発行してbyeした時に、通常なら受信したバイト数とかの情報を返してくるんだけど、 返って来ない場合があります。どう直せばよいのでしょうか? 221-You have transferred 0 bytes in 0 files 221-Total traffic for this session was 834 bytes in 0 transfers. 221-Thank you for using the FTP service on ftp4.geo.bbt.yahoo.co.jp. 221 Goodbye.
441 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 17:25:40 ] なぜここに?
442 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 21:15:47 ] tool-6.net/?TESTA Apache2で実行すると 400 Bad Rqest Errorが出るんですが、原因がわかりません。 なぜなんですかね?
443 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 22:40:45 ] HTTP1.0にしたらうまく動作したんですが、1.1ではなぜ出来ないんですかね?
444 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 22:46:49 ] Host情報送って無いんじゃね?
445 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 23:24:51 ] Host情報を送る際のコードが載っているサイトとかないですかね?
446 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 23:30:39 ] 新宿2丁目と
447 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 23:39:12 ] 歌舞伎町
448 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 23:41:03 ] 郵便局