- 1 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 21:07:24 ]
- 主にソケットに関しての質疑応答スレッドです。
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辺り 足りなかったら適当に付け足してね 前スレ ネットワークプログラミング相談室 Port22 pc11.2ch.net/test/read.cgi/tech/1222603744/ 関連スレ Java ネットワークプログラミング 【教えて!】 pc11.2ch.net/test/read.cgi/tech/1086238859/
- 409 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 12:39:25 ]
- サーバー管理者から害のあるスクリプトと認定されるものを走らせてアク禁くらって
まるでサーバー管理者側が悪いかのような口のきき方すれば 罵声を浴びるに決まってるだろ 人のことをとやかく言う前にまず自分のスキルを上げろって話さ
- 410 名前:デフォルトの名無しさん [2009/02/17(火) 14:13:00 ]
- >>409
あっそ
- 411 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 14:58:21 ]
- >>410
うん そういうこと
- 412 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 15:01:41 ]
- まあ普通にサーバ管理者に問い合わせれば済む話だしな。
- 413 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 18:00:16 ]
- 一応書いておきますが、406と408、410は、別人です。
わたしは、どのみちシロウトです。
- 414 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 18:38:28 ]
- >>413の付け足しですが。
>>406は、ただ最後にちょっと気の利いたことを書いておこうと 思っただけです。 気に障ったらすみません。 でもネットには、けんかを買いたい人が待ち構えてるんだね。 >>408には、笑った。
- 415 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 19:40:55 ]
- ネットにはよそのサイトをDoSしても開き直っている奴いるしね。
- 416 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 20:31:15 ]
- もうやめて!>>361 のHPは0よ!
- 417 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 20:58:07 ]
- HPが0なら死ねよ
- 418 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 22:49:16 ]
- おまいら、また理解できないことが出てきちゃいました・・・
acceptで取得したソケットにはSourceAddressとPortが設定されています。 これはサーバーのAcceptAddressとPortです。 さらにacceptで取得したソケットにも同じアドレスがbindされています。 通常、複数のソケットに同じアドレスをbindする事はできないと思うのですが なんでacceptはできるの? プログラムで同じように複数のソケットに同じアドレスを bindすることは可能なのですか? 正直使いたくてうらやましいです(´・ω・`)
- 419 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 23:01:40 ]
- 同時じゃないんだからできるだろ
- 420 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 23:02:21 ]
- >>418
> 複数のソケットに同じアドレスをbind されてはいないだろ。 > acceptで取得したソケット はacceptしてるソケットとは別なんだから。 # TCPの接続は<srcIP, srcPort, dstIP, dstPort>の四つ組みで識別される。
- 421 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 23:12:26 ]
- >>419
すいません、何が同時じゃないんですか?(´・ω・`) >>420 acceptで取得したソケットをbindしようとするとEINVALが返ってくるんだけど、 これはbindされてるって事じゃないんですか?(´・ω・`)
- 422 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 23:15:06 ]
- まじめに質問してるのであれば、顔文字やめろ
腹が立つ
- 423 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 23:17:58 ]
- >acceptで取得したソケットをbindしようとすると
んん?
- 424 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 23:29:31 ]
- >>422
すいません、マジメに質問してるので顔文字はやめます。 >>423 試しにやってみただけなんですけどEINVALが返ってきました。 bindされていると思った理由は 取得したソケットからgetsocknameでアドレスが取れるので bindされてるのかなと思いました。
- 425 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 23:33:36 ]
- acceptに返された時点で「TCP接続」とbindされてる。
- 426 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 23:47:22 ]
- 別に顔文字使ってもいいよ。真面目かどうかは内容で分かるから。
顔文字の有無で内容が変わって見えるような馬鹿なんかに初めから回答を期待しない方がいい。
- 427 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 23:54:31 ]
- >>424
TCP の 3way handshake を調べて、各 phase で何が渡されるか考えるのが吉
- 428 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 23:55:52 ]
- acceptで生成されたソケットのポートはリスナーのポートじゃねーだろ?
- 429 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 23:56:25 ]
- 顔文字で判断なんて、ココロが広いな
「おまいら」などと言ってる時点で無視だよ
- 430 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 00:05:28 ]
- >>425
そのbindされたアドレスが他のソケットとかぶってるってことなんだけど これはシステム上、srcAddressとPortがかぶるソケットがあっても 問題ないと自分は解釈したんだけど accept以外にプログラムで同じことできないかなと思いました。 >>426 2chで顔文字怒られたのは初めてでした。 不快に思う人も居るって事で。 >>427 どうもです。 3way hand shake調べなおしてみます。 >>428 srcPortはリスナーのポートだと思います。 >>429 ごめんなさい。
- 431 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 00:31:36 ]
- (´・ω・`)おこんなよ
(´・ω・`)ちっちぇえな
- 432 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 01:00:53 ]
- >>430
APIで出来るのは、 接続してないソケットにsockaddrをbindすることだけです。 accept以外には、UDP等で使います。
- 433 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 01:20:57 ]
- >>431
煽るなよぅ >>432 システム上できるけどAPIが提供されていないので出来ない という解釈でいいんでしょうか。 あると便利なんだけどなあ・・・
- 434 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 01:28:41 ]
- 便利じゃないです。良く勉強してください。
- 435 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 02:01:14 ]
- >>434
便利じゃないのか・・・ 勉強してきます・・・
- 436 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 07:05:48 ]
- 3way-handshakeが完了した時点で、
(クライアント:connect成功、サーバ:accept成功) <sIP,dIP,sPort,dPort>の4つ組は決定するわけで、 そのあとで、「やっぱりポート変えたいんだけど」とか TCP的にもありえないよね。
- 437 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 09:07:23 ]
- Acceptの返すのはTCP接続が確立したソケットだからね。
Acceptしているソケットは、接続のターゲットになっているわけだから、 同じsockaddrを持つソケットが複数存在しては、 接続要求をどこでこなせばいいか、kernelに分からない。 UDPソケットへの配送についても同様。 複数のソケットに同じsockaddrをbindする必要がない。 だから出来ない。してはいけないことだから出来ない。
- 438 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 22:12:34 ]
- >>436
確かにコネクションが完了した後に変更はありえないですね。 でも、それはbindのEINVAL(もうアドレスが設定してある)みたいにすれば 問題ない気もするんですけど、どうでしょう。 >>437 んー、確かに危険だとは思うのですが。 例えばソケットを2つ作って違う場所にconnectするとして 現状同じsrcAddrとPortをbindすることはできませんよね。 これができると使用するPortが少なくてすむかなと思いました。 少ないと何かいい事あるかどうかはアレですが・・・
- 439 名前:デフォルトの名無しさん mailto:さげ [2009/02/18(水) 22:15:00 ]
- >>436
FTP
- 440 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 22:20:16 ]
- >>438
「危険」なんて関係ない。 意味のないことだからできない。 無意味なAPIを提供する意味はない。
- 441 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 22:21:20 ]
- >>439
FTPはデータとコントロールが別接続。 データ接続は複数もって並列にやり取りできる仕様。
- 442 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 22:33:39 ]
- >>438
少しOSの身になって考えてみよう > 例えばソケットを2つ作って違う場所にconnectするとして > 現状同じsrcAddrとPortをbindすることはできませんよね。 外部から入ってきたデータを、 同じsrcAddrとPortを持ってるコネクションのうち、 どっちのコネクションに配送すればいいかを、どうやって決めたらいいんだ?
- 443 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 22:40:17 ]
- それを識別するために、TCP, UDP層の「アドレス」付加分として
新たにポート番号を付加して、配送先を一意に決められるようにしたのに、 30年近くたって>>418が突然、複数のソケットに付けられないのは不便じゃない?とw 郵便番号も複数の離れた土地に割り当てられたら便利かもね(棒読み)
- 444 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 22:59:12 ]
- 初心者です。質問させてください。
<form action="sso-redirect" method="post" name="loginForm"> と書いてあるとき 、postメソッドで投げる先は https://sec-sso.click-sec.com/loginweb/sso-redirect で間違いないのでしょうか。 よろしくおねがいします。
- 445 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 23:00:30 ]
- 初心者です。質問させてください。
https://sec-sso.click-sec.com/loginweb/で表示されたhtmlに <form action="sso-redirect" method="post" name="loginForm"> と書いてあるとき 、postメソッドで投げる先は https://sec-sso.click-sec.com/loginweb/sso-redirect で間違いないのでしょうか。 よろしくおねがいします。
- 446 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 23:07:48 ]
- >>440
やっぱりこれが一番の問題なんだろうな。 意味がないと理解できていないんですorz >>.442 TCPだとacceptで取得したソケットはこれをやっていて 理由は>>420さんが書いてるように4組で識別しているからだと理解しています。 >>443 確かに、みんなこれでやってるのに疑問に思うのが問題ですよね・・・ 何かの理解が足りていないと思われるorz なんか長くなってしまったので、ここまでにしたいと思います。 色々勉強になりますた。 答えてくれた方々ありがとー♪
- 447 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 23:11:17 ]
- >>445
正しい場合が多いが、そうでない場合もある。<base>
- 448 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 23:13:55 ]
- TCP/IPのことで聞きたいのですがよろしいですか?
- 449 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 23:15:58 ]
- 質問させていただきます。
- 450 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 23:16:36 ]
- >>448 なに?
- 451 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 23:17:23 ]
- TCPの接続を四つ組で一意に表すと考えたのは誰なんだろ。
うまいこと考えたもんだな。特に非対称の接続の時。
- 452 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 23:17:27 ]
- >>448
よろしいです。
- 453 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 23:21:01 ]
- これから10Mバイトの容量のデジカメ写真のデータをインターネット上の電子メールで送信しようとするところである。
10Mバイトと容量が大きいので、インターネット上をそのまま一つの10Mバイトのデータ送信する事ができない。 TCP/IPではこのデータをどのように分割して処理し、分割したデータのそれぞれが間違いなく送信の相手に届くように保証しているかIPとTCPの送信側、受信側それぞれの役割別に具体的に説明しなさい。 とあるのですが、まったくわかりません;
- 454 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 23:21:40 ]
- >>446
> 確かに、みんなこれでやってるのに疑問に思うのが問題ですよね・・・ つか、疑問に思った君は偉いと思うよ、マジで…
- 455 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 23:22:30 ]
- >>453
わからないのは、君のせいではなく、その文章を書いた人間がバカだからです。 「日本語でおk」と言ってやりなさい。
- 456 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 23:23:10 ]
- >>455
ΣΣΣ 単位がもらえなくな・・・ry
- 457 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 23:23:58 ]
- そんなバカから単位を貰う必要はない。
- 458 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 23:24:24 ]
- 助けてください。
- 459 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 23:25:54 ]
- >>458 RFC 読めばいいと思うよ
- 460 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 23:27:32 ]
- >>459
拝見させていただきます。
- 461 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 23:28:58 ]
- 日本語表記please。
- 462 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 23:32:56 ]
- >>453
バカな問題を好意的に解釈すると、 「分割」はIP、「間違いなく送信の相手に届くように保証」はTCPが行っている。 説明は下記を参照。 @IT:連載 基礎から学ぶWindowsネットワーク 第10回 IPパケットの構造とIPフラグメンテーション 2.IPフラグメンテーション www.atmarkit.co.jp/fwin2k/network/baswinlan010/baswinlan010_03.html @IT:連載 基礎から学ぶWindowsネットワーク 第14回 信頼性のある通信を実現するTCPプロトコル(その1) www.atmarkit.co.jp/fwin2k/network/baswinlan014/baswinlan014_01.html
- 463 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 23:33:57 ]
- >>462
神様ありがとう。
- 464 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 23:38:11 ]
- 僕に友達をくれて。
- 465 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 23:47:14 ]
- 僕を妖精にしてくれて。
- 466 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 23:48:11 ]
- >>453
馬鹿な出題者が、解答者たちが、 TCPを真面目に勉強していることに大いに甘んじ、 出鱈目な言葉使いで、質問を出してる。 ところが、>>448はTCPの事はまるで勉強してないので チンプンカンプンである。 これは馬鹿同士の衝突現象といえよう。 古典的なシェアードバスのEthernetコリジョンと同じである。
- 467 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 23:49:27 ]
- >>462
> 「分割」はIP ちょww
- 468 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 00:19:19 ]
- ラスカルに会わせてくれて
- 469 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 00:33:15 ]
- ラスカルに会わせてくれて
- 470 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 10:58:32 ]
- ありがとう僕の友達
- 471 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 15:03:19 ]
- オスカルに会わせてくーれーーてー
- 472 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 15:12:23 ]
- >>471
この手の書き込みをする奴の精神構造が理解できない
- 473 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 15:52:50 ]
- 同意
- 474 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 16:02:33 ]
- パスカルくらいにしとけば良かったのに。
- 475 名前:デフォルトの名無しさん [2009/02/19(木) 16:26:27 ]
- GetIfTableでアドレステーブルを取得できますが、若い番号であるほど
優先順位が高い、という解釈であってますか?
- 476 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 17:45:43 ]
- bOrder
[in] Specifies whether the returned interface table should be sorted in ascending order by interface index. ~~~~~~~~~~~~~~~~~ 昇順ですな。
- 477 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 17:51:25 ]
- あ、そうだったのか!
今までユーザーに選択させてたよ
- 478 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 19:18:45 ]
- >462
TCPって、connection成立時にMSSが判るから、 IPのDFビットを立てたりするんだよね。
- 479 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 22:18:59 ]
- みんなUDPのサーバーってrecvfrom使ってるの?
ログインしたあと何回かやりとりするような仕様だと毎回recvfromでもらったアドレスからユーザー判別するのが すごい無駄な気がするんだけどいい方法ないかな?
- 480 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 22:47:45 ]
- >>463-474
友達に聞いたんだけど 高校受験の時の面接で試験官が 突然ゴレンジャーの話をし始めたらしい 人生が懸かった試験だけに どう対応して良いか分からなかったそうだけど まともに相手をした受験生が落とされたらしい
- 481 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 23:11:41 ]
- 単に頭が悪くて落ちた馬鹿が落ちたのをゴレンジャーのせいにしてるだけだろ。
- 482 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 00:09:29 ]
- >>479
そういう時はconnectするんだよ。
- 483 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 00:57:49 ]
- それってソケット新しく作ってconnectするってことだよね?
試したけどうまくいかなかったんだよなー ちゃんとやればできるのか もう一回チャレンジしてみる
- 484 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 04:46:12 ]
- サーバー側がacceptしてるときに、想定しているクライアントが接続してきたのか
流しのクライアントが偶然たどりついたのか、どうすれば判別できますか?
- 485 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 06:13:15 ]
- 認証しろ
- 486 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 08:42:16 ]
- >>484
っcrypto
- 487 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 03:23:57 ]
- うまくいかないにゃー
- 488 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 16:30:19 ]
- ぬるぽ
- 489 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 17:30:21 ]
- >>480
がっこうなんて人生が懸かるような所じゃないよ
- 490 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 17:55:13 ]
- >>489
だれが上手いこと書けと
- 491 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 12:37:13 ]
- ガッ
- 492 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 13:07:48 ]
- >>491
>489がもう叩いてる
- 493 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 23:17:59 ]
- ちんこかゆい90円
- 494 名前:デフォルトの名無しさん [2009/03/03(火) 00:09:49 ]
- ソケットインターフェースで(例えばrecvを使って)、たくさん流れてくるTCPのヘッダだけ読んで、ペイロードを読み捨てる(recvしない)ってことできる?
できるとしたら、どうすればいいの?
- 495 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 08:18:50 ]
- >>494
> ソケットインターフェースで(例えばrecvを使って)、たくさん流れてくるTCPのヘッダだけ読んで Rawソケットでできる。 > ペイロードを読み捨てる(recvしない)ってことできる? 自分(ユーザー空間)で捨てるのが嫌だということなら、 カーネル内でプロトコルスタック書く必要がある。
- 496 名前:494 [2009/03/03(火) 10:30:27 ]
- >>495
つまり出来ないのね。ありがとう。
- 497 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 16:27:51 ]
- >>496
どうしても socket じゃないとまずいのか? BPF とか pcap ライブラリ使ってフィルタするんじゃだめなのか?
- 498 名前:デフォルトの名無しさん [2009/03/03(火) 21:23:29 ]
- >>497
まずくはないが、今はsocketインターフェースでの可能性を知りたい。
- 499 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 21:47:52 ]
- libpcapはソケット使ってるだろ。
- 500 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 22:58:00 ]
- OSによるんじゃね
- 501 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 22:32:32 ]
- RAW ソケットも Socket インターフェイスなわけだが。
- 502 名前:デフォルトの名無しさん [2009/03/04(水) 23:11:20 ]
- RAWソケットじゃあ、ヘッダだけ読んで、ペイロードを読み捨てる(recvしない)ことは出来ないだろ。
読まないとヘッダかペイロードか判断できないし。
- 503 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 23:18:08 ]
- ちなみにRAWでやるってことはTCPのやりとりも自分で全部書くってことか?
捨てるだけでなく返事をせんと次のが来ないぞ。
- 504 名前:デフォルトの名無しさん [2009/03/04(水) 23:24:22 ]
- 誰に言ってるの?
- 505 名前:503 mailto:sage [2009/03/05(木) 00:00:10 ]
- >>504
>>>495-502
- 506 名前:デフォルトの名無しさん mailto:sage [2009/03/05(木) 08:37:45 ]
- なんで、ちなみになんだ
- 507 名前:デフォルトの名無しさん [2009/03/06(金) 00:44:54 ]
- 千奈美ちゃんと生でやってるんだろ。
- 508 名前:デフォルトの名無しさん [2009/03/08(日) 21:59:11 ]
- #include<wininet.h>(
wininet.libをリンク(プロジェクトに参加させている) LNK2001: 外部シンボル "__imp__InternetOpenA@20" は未解決です。 lpinet->hInternet = InternetOpen("myftp01", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0 ); とすると LNK2001: 外部シンボル "__imp__InternetOpenA@20" は未解決です。 がでてしまいます。原因がわかりません。どなたかご教授願います。 wininet.libをプロジェクトに参加させているだけでは「リンク」されないのでしょうか?
- 509 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 22:01:44 ]
- スレ違い
処理系のリンカの使い方を読め
|

|