トップページ⇒tech
956コメント340KB

ネットワークプログラミング相談室

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。 NGNG
主にソケットに関してのFAQ
0609デフォルトの名無しさんNGNG
>>605
DNS引けなきゃ2chにも来れんと思われ
0610デフォルトの名無しさんNGNG
>>609
ダイヤルアップのときしかDNSサーバが設定されてないとか
0611デフォルトの名無しさんNGNG
IP直打ちで来れるはず。
0612デフォルトの名無しさんNGNG
Windows2000のソケットって同時に何個まで開けるのですか?
240前後のような気がするのですがどうでしょうか?
0613デフォルトの名無しさんNGNG
>>612
ここで聞くよりテストプログラムをちょっと作って調べた方が早い
なのに何故いちいち他人に聞くんだ?
0614デフォルトの名無しさんNGNG
>>612
ここで聞くよりテストプログラムをちょっと作って調べた方が早い
なのに何故いちいち他人に聞くんだ?
0615デフォルトの名無しさんNGNG
>>613 >>614
なんでそんなに簡単だったら教えてあげないの?
それに、自分で作るより、WebでWinsock FAQを検索したほうが早いよ。
613は、まだ作ってるのか。ほいこれ。
http://www.cyberport.com/~tangent/programming/winsock/examples/get-sockets.html
ここのFAQは有名だよ。
0616デフォルトの名無しさんNGNG
>>615
簡単なことすら自分でしようとしない奴に教えても意味がないだろう
それからそのアドレスのサンプルは見れば分かるはずだが
「何個まで開ける」を計測しているのではなく
「何個まで作れる」を計測しているプログラム
FAQは>>615みたいに内容を理解しない奴が見ても無駄
0617デフォルトの名無しさんNGNG
ああ、うぜえな。
教えたくないやつはレス付けるなよ。
なんか、学校の教師みたいだな。分からない事聞くと
すぐ辞書引けみたいなやつ。
どう考えたって、教えてもらった方が早くて効率的。
自分で調べろっていう気持ちもわかるけど、答えてくれるやつが居るなら
聞いたほうが絶対に良い。
0618デフォルトの名無しさんNGNG
>>617
内容によるだろ。>>612は明らかに「自分でやれ」だぞ
0619デフォルトの名無しさんNGNG
>自分で調べろっていう気持ちもわかるけど、答えてくれるやつが居るなら
>聞いたほうが絶対に良い。
だから、答えてくれる奴なんていないことを、いい加減理解しろ
答えてくれる奴がいないから、「聞いた方が絶対に良い」というのは成り立たないんだよ
見ず知らずの他人に聞くより自分で実験した方がよっぽど早い
質問してから10時間以上経過しているが、これだけあればとっくに試し終わっているだろう

>分からない事聞くと すぐ辞書引けみたいなやつ。
そんな当たり前のことを、いちいち言われて生きてきたのか?
そうとう過保護に育ってきたんだろうな
0620デフォルトの名無しさんNGNG
>>618
俺は「1+1は何ですか?」って聞かれても教えてやるよ。
英語勉強してて、分からない単語を一々全部辞書ひく?
時間の無駄だね。始めから訳が書いてある単語帳で覚えるでしょ、普通。

まあ、言ってる事は理解できるんだけど。だから、教えることを強要しないし。
アホらしい質問は無視すりゃOK。
答えてくれる人が居たらラッキーって事で。
0621デフォルトの名無しさんNGNG
今ブラウザのような初歩的なソフトを作ろうとしている初心者です。
そこでHTTPサーバとのやりとりの仕方とかコマンドに
ついてブラウザ自身はどうしているのでしょうか。
ホストにアクセスしてコマンドを送信する方法について書かれた
HPありませんでしょうか、お願いします。
0622デフォルトの名無しさんNGNG
>>619
だからさー、答える気が無いなら書き込むなよ。ウザイから。
無視してろって。お前見たいのが一番の害虫だよ。
結局、自分のレベルに合って自分に有益な情報じゃないと興味無いんでしょ?
誰もが君みたいにハイレベルじゃないんだから。
0623デフォルトの名無しさんNGNG
>>622
お前が答えれば良いだろう
答える気がないなら書き込まないんじゃないのか?
0624デフォルトの名無しさんNGNG
>>621
http://RFC.net/rfc2616.html
0625デフォルトの名無しさんNGNG
>俺は「1+1は何ですか?」って聞かれても教えてやるよ。
じゃあ、教えて
1+1は何ですか?
0626デフォルトの名無しさんNGNG
>>623
結局その程度の反論しかできないのか。
知らないものをどうやって答えるんだ?
まあ、書き込むなという点には同意。
俺のカキコも相当ウザイはず。

だけどな、このスレでよく見かけるけど、ちょっと初心者級の質問すると
「このスレもレベル下がったね」とかいう書きこみは余計なお世話なんだよ。
一部のレベルが高い奴らだけの為に存在してるスレじゃないんだから。
分かるやつから見ればくだらない事なんだろうけど、質問してる側から見れば
そうとは限らない。
それに俺だって君の言う事は十分理解してるよ。
そもそもこんなレベルの質問してる時点でプログラマとしての適性が限りなく
0に近いわけだし。検索能力も無いんだから。
でも、別にここに書きこんでるやつが全員職業プログラマになるとは限らないし
まだ中学生程度のやつの書き込みかもしれない。
だから俺は自分が知ってる事はレスするよ。
もし質問してるやつが救いようの無い低レベル職業プログラマだったとしても
ここで俺達が叩かなくてもいずれ消えていくでしょ。
0627デフォルトの名無しさんNGNG
>>625
2です。
0628デフォルトの名無しさんNGNG
>>626
だからお前が答えろって
偽善は口先だけ?
0629デフォルトの名無しさんNGNG
>>627
それでは答えになっていません
もう一度聞きます、「1+1は何ですか?」
0630デフォルトの名無しさんNGNG
>>628
もしかして日本語が理解できてない人?
0631デフォルトの名無しさんNGNG
>>629
あー、なんでしょうね。
足し算の数式?その数式の答えが2になることはわかるんだけど
それ以上の事はわからないや。ごめんね。
0632デフォルトの名無しさんNGNG
>>628
>知らないものをどうやって答えるんだ?
ってかいてありますが、何か?
お前、見てると誰にでもただ噛み付きたいだけなんだね。
確かにウザイわ(w
0633デフォルトの名無しさんNGNG
Q 「1+1は何ですか?」
A 「ハァ?」
ってならないか普通
俺は答えられないゾ
0634デフォルトの名無しさんNGNG
>>632
調べて答えれば良いのでは?
そこまで言う人なんだから、他人のために労力は惜しまないでしょう。
偽善じゃなければの話だけど。
0635デフォルトの名無しさんNGNG
無意味に荒らすなよ。
0636デフォルトの名無しさんNGNG
>>624
ありがとう
0637デフォルトの名無しさんNGNG
>>634
偽善も何も、誰も答えるなんて書いてないじゃん?
答えられないなら無視してろってのが主張してることだと思うが。
さっきから偽善って使ってるけど、よほど偽善にしたいんだね(w
0638デフォルトの名無しさんNGNG
>>633
(ップ
それがお前の普通か。
普通ね。
0639デフォルトの名無しさんNGNG
>>637
答えられないなら書くなよ(藁
0640デフォルトの名無しさんNGNG
>>638
あなた様のお答えはいかに?
0641617NGNG
おいおい荒れてるね。
どう考えても俺のカキコが原因だ。ごめんね。
俺も自分の言ってることに矛盾してしつこく書き込んでるのが悪いよ。
本当にすみません。

>>634
んー、さすがに知らない事を答えるほどの優しさは持ち合わせてないです。
すんません。まあ、でかい口きいてるし叩かれても当然ですが。
0642デフォルトの名無しさんNGNG
なんか誰にでも噛み付きたい厨房が一人で頑張ってるなあ。
夏だしね。
0643デフォルトの名無しさんNGNG
>>641
謝るな、自分の主張は戦争になっても貫き通せ
0644デフォルトの名無しさんNGNG
>>639
全くその通りだ。だから>>613みたいな馬鹿が減らないんだよね。
答えないならレスするなよな(w
0645デフォルトの名無しさんNGNG
>>642
おう、お前もがんばるな
暑いからな、体こわすなよ
0646617NGNG
>>643
いや、自分の主張はそのままですよ。
答える気が無いなら、無視してれば良いんじゃない?って話です。
ただ、このスレを荒らしてしまった事に対して謝ってるのです。
とりあえず、これ以上荒らしたくないのでsageで。
0647デフォルトの名無しさんNGNG
折角の質問スレなのに荒らすなよ。
0648夏厨祭り始まりNGNG
613 名前:デフォルトの名無しさん 投稿日:2001/07/27(金) 08:53
>>612
ここで聞くよりテストプログラムをちょっと作って調べた方が早い
なのに何故いちいち他人に聞くんだ?

616 名前:デフォルトの名無しさん 投稿日:2001/07/27(金) 11:26
>>615
簡単なことすら自分でしようとしない奴に教えても意味がないだろう
それからそのアドレスのサンプルは見れば分かるはずだが
「何個まで開ける」を計測しているのではなく
「何個まで作れる」を計測しているプログラム
FAQは>>615みたいに内容を理解しない奴が見ても無駄

619 名前:デフォルトの名無しさん 投稿日:2001/07/27(金) 13:53
>自分で調べろっていう気持ちもわかるけど、答えてくれるやつが居るなら
>聞いたほうが絶対に良い。
だから、答えてくれる奴なんていないことを、いい加減理解しろ
答えてくれる奴がいないから、「聞いた方が絶対に良い」というのは成り立たないんだよ
見ず知らずの他人に聞くより自分で実験した方がよっぽど早い
質問してから10時間以上経過しているが、これだけあればとっくに試し終わっているだろう

>分からない事聞くと すぐ辞書引けみたいなやつ。
そんな当たり前のことを、いちいち言われて生きてきたのか?
そうとう過保護に育ってきたんだろうな

623 名前:デフォルトの名無しさん 投稿日:2001/07/27(金) 14:13
>>622
お前が答えれば良いだろう
答える気がないなら書き込まないんじゃないのか?

625 名前:デフォルトの名無しさん 投稿日:2001/07/27(金) 14:18
>俺は「1+1は何ですか?」って聞かれても教えてやるよ。
じゃあ、教えて
1+1は何ですか?

628 名前:デフォルトの名無しさん 投稿日:2001/07/27(金) 14:27
>>626
だからお前が答えろって
偽善は口先だけ?

629 名前:デフォルトの名無しさん 投稿日:2001/07/27(金) 14:29
>>627
それでは答えになっていません
もう一度聞きます、「1+1は何ですか?」

633 名前:デフォルトの名無しさん 投稿日:2001/07/27(金) 14:36
Q 「1+1は何ですか?」
A 「ハァ?」
ってならないか普通
俺は答えられないゾ
0649デフォルトの名無しさんNGNG
>>647
ここは
>主にソケットに関してのFAQ
だから質問スレじゃないよ
FAQとQ&Aの違いは分かるよね?
0650デフォルトの名無しさんNGNG
       夏厨祭りだワッショイ!!
     \\  夏厨祭りだワッショイ!! //
 +   + \\ 夏厨祭りだワッショイ!!/+
                            +
.   +   /■\  /■\  /■\  +
      ( ´∀`∩(´∀`∩)( ´ー`)
 +  (( (つ   ノ(つ  丿(つ  つ ))  +
       ヽ  ( ノ ( ヽノ  ) ) )
       (_)し' し(_) (_)_)
0651デフォルトの名無しさんNGNG
わっしょい
0652デフォルトの名無しさんNGNG
ソケットの接続最大数は、65535までのポートを全て食い尽くすまで
自動でポート番号を決定する場合は1000〜5000のポートを食い尽くすまで
以上、わっしょい
0653デフォルトの名無しさんNGNG
RAD系ツールなどで(ソケットコントロール)それやると
10個めくらいで死んじゃいマス
わっしょい
0654デフォルトの名無しさんNGNG
答えが書き込まれた瞬間にどんどん下がっていくな
わっしょい
0655デフォルトの名無しさんNGNG
そのそもそんなこと聞いて何をするつもりだったんだ?
わっしょい
0656612NGNG
>そのそもそんなこと聞いて何をするつもりだったんだ?
ネットスパイダーみたいなものを作ろうと思ったのですが、
マルチスレッドにして、可能なだけソケット開いてHTTPすれば
早くなるかなと思った次第です。
0657デフォルトの名無しさんNGNG
ネットスパイダーってなに?
0658612NGNG
HTMLのLINKタグを辿ってネットを巡回するツールです。
0659デフォルトの名無しさんNGNG
ホスト側のプログラムで、
bind()の2番目の引数のsockaddr_inを、
sin_addr.s_addr = INADDR_ANY;
って書いてる本があるんですが、これってどうなんでしょう?

FAQにはホストのIPアドレスって書いてあるんですけど…
0660デフォルトの名無しさんNGNG
INADDR_ANYはどこからの接続でも受け付けるという意味です。
便乗で質問ですが、あるIPアドレスの範囲からの接続だけを受け付ける
ように指定することはできますか?
0661デフォルトの名無しさんNGNG
>>660
addr/maskのようなアクセス制御は出来ませんが、bind()に渡すアドレスに、
インタフェースのアドレスを指定すれば、そのインタフェースを経由した接続
要求のみを受け付けるようにする事は可能です。

winsockの場合は、WSAAcceptにコールバックを渡して、実際にaccept動作を
する前にフィルタさせるような事も出来るみたいです。こちらの方法は試した
事がないので、実際に出来るかどうかは知りません。
0662デフォルトの名無しさんNGNG
東風荘の通信を監視して、自分がなにをツモッたかなどを
知るにはどうすればいいの?
0663デフォルトの名無しさんNGNG
自分のつもなら普通にやっててもわかるがな
0664デフォルトの名無しさんNGNG
WinMX のプロトコルの詳細を知るのに良いページとかありませんか?
0665664NGNG
調べてみたらポートの 1025 が空いてたな、
でも、これかどうか分からないしな…
0666デフォルトの名無しさんNGNG
http://google.yahoo.co.jp/bin/query?p=WinMX+%a1%a1%a5%d7%a5%ed%a5%c8%a5%b3%a5%eb&hc=0&hs=0
0667デフォルトの名無しさんNGNG
http://homepage2.nifty.com/katuya/index.html
ネットワークRPGの作り方がのってる。
0668デフォルトの名無しさんNGNG
超初心者でもわかるFTPプログラム(C/S両方)のソースと解説のある
サイト、もしくは本を誰か教えてください!!できればUNIX系で
0669デフォルトの名無しさんNGNG
>>660
>INADDR_ANYはどこからの接続でも受け付けるという意味です。

これだと誤解を生みかねない説明なので補足させてちょ。
『UNIXネットワークプログラミング第2版 vol.1』 pp.13 で、

「(第2引数の)IP アドレスには、サーバホストが複数の
 インターフェイスを持っていた場合に、どのインターフェイスに
 あてたクライアントからのコネクションでも受け付けることを意味する
 INADDR_ANY を指定する」

とあるように、「どこからの接続でも」っていうのは、
「サーバのインターフェイスのどこからでも」ってことであって、
「どのクライアントからの接続でも」って意味ではないよ。
bind の意味を考えれば当たり前だけど、一応補足しておくね。
0670664NGNG
>> 666 ありがと、

ところで、WPNPの機能がNapchanに取り入れられるなんてことは
ないのか、という疑問が湧いてくるかもしれないが、これは難しい
だろう。というのは、WPNPの方はオープンになっていないからで
ある。
Napchanに限らず、NapsterサーバーやOpenNapにつなぐNapster
クライアントソフトがあんなにもたくさん開発されたのは、オー
プンソースという形で公開されているOpanNapとその仕様のおか
げである。MorpheusやWPNPのように、オープンになっていないと、
いくらWPNPのキャッシュサーバーのIPアドレス、ポートが公開さ
れていたとしても、その仕様がわかってない限り、WPNPを利用
するクライアントソフトを使うのは難しいだろう。
ただ、もともとNapsterにしたところでオープンにしていたわけ
ではなく、ハッカーたちがNapsterサーバーにアクセスして実験を
繰り返してOpenNapという形で仕様をオープンにしたのだから、
同じことがWPNPに起こったとしても不思議ではない。


↑コピペなんだけど、、、

どうも仕様は公開されてないみたいです
パケットキャプチャするしか無いですか(-_-;
0671デフォルトの名無しさんNGNG
Windows98,MX系でNICに来るパケットを監視するにはどうしたらよいのでしょうか?

WinSockで出来るのか。(出来ないっぽい)
ドライバを作らないとダメなのか。(よく知らない)
特殊なAPIがあるのか(探したけどそれっぽいのがない)

サパーリ分からない状態です。
定石やヒントだけでもいいので、情報をお願いします。
0672名無しさんNGNG
Windows用のtcpdumpがwindumpって名前で出てるみたいよ。
0673名無しさんNGNG
YahooのWEBサーバーにコネクション張って
GET ***** HTTP/1.0..........ってコマンド送っても
↓までしか返してくれないんだけど、どうして?

HTTP/1.0 200 OK
Date: Fri, 10 Aug 2001 11:19:39 GMT
Content-type: text/html;charset=euc-jp
Expires: Thu, 05 Jan 1995 22:00:00 GMT
Pragma: no-cache
Cache-Control: private
Set-Cookie: B=7qk8vbgtn7gqb&b=2; expires=Thu, 15 Apr 2010 20:00:00 GMT; path=/; domain=.yahoo.co.jp
0674673NGNG
要するに
Content-Lengthとhtmlデータを返してくれない。
なぜでしょうか?
0675671NGNG
>>672
情報ありがとうございます。
早速検索かけてみました。
ソースもあったので中を見たところ、どうもドライバを作って入れてるみたいですね。
(まだちょっと見ただけですが)

やっぱりドライバからやらないと出来ないのかな?
ちょっと大変(^^;)

取り合えずソースを眺めてみます。(asmファイルもあってちょっとくじけそうですが)
0676デフォルトの名無しさんNGNG
>>673
ちゃんとバッファが空になるまで読んだ?
0677673NGNG
>>676
読んでなかったよ。悪かったな。
0678673NGNG
>>677
偽者!
でも、その通りでした。Content-Length返さないのね。失礼。
0679デフォルトの名無しさんNGNG
すいません、便乗質問なんですが、>>673 と同じように
いろんなサーバに接続してデータを受信してみたんですけど、
Content-Length を返さないところが結構ありました。

結局 Content-Length は必須じゃないんですか?
0680デフォルトの名無しさんNGNG
>>679
HTTP1.0ではコネクションが切れるまでがコンテンツとなっている。(←たぶん)
内容が固定でないもの(例:掲示板cgi)はほとんどがそう。困ったもんだ。
HTTP1.1では対策が講じられているので、必ずサイズが分かる。
よってコネクションの切断の方法によらず転送の成否が分かる。
ただしサーバーが1.1である必要あり。
まあいまどき1.0なサーバーはないと思われ。
0681デフォルトの名無しさんNGNG
0.9って仕様にはあったよね・・・
たしかGETのみ・・・
0682デフォルトの名無しさんNGNG
>>680 chunked message か?
Netscape Proxy Server とか chunked はずしちゃうよ。もちろん
Content-Length も無しで。それ以前に HTTP/1.1 だからといって
必ず chunked や Content-Length が付いている保証はない。

>>681 GET のみ、レスポンスコード&ヘッダなしでいきなりコンテ
ンツ返信ってやつだな。自作の Web 巡回ツールテストしてて 0.9
レスポンスにぶち当たってこけたことがある。
0683680NGNG
>>682
まじで?
サイズ保証したい場合は自分でまた何かフィールドつけることになるのか・・・
アホや・・・
0684デフォルトの名無しさんNGNG
たしか2種類あるよ>サイズ取得
0685679NGNG
どうも、有難うございます。

コネクションが切れるまでがコンテンツ、だったら
データの終りまで行って切れたのか、それともエラーで切れたかの
区別が出来ないんじゃないですかね…

今 RFC を読んでるんですけど Chunked Message 出てます。
Content-Length は HTTP/1.0 の互換性のためで、
Chunked で送る場合は Chunked を優先して、サーバは Content-
Length は送るな、と書いてありました。
(↑英語正しく読めた自信無い、間違ってるかも)

chunk だと read しっぱなしじゃダメで、データを受信
するのにそれなりの仕組みが必要みたいですね…
0686682NGNG
>>685 手前味噌だがオイラの和訳ページ使ってくれ。

http://www.geocities.co.jp/SiliconValley-PaloAlto/5694/rfc/rfc2068-ja.html

データの整合性を保証するなら長さだけじゃなく Content-MD5
までやってくれや。chunked message には「フッタ」もあり
だから (RFC2616 で修正されたかな?) そこらへんの実装も
難しいぞ。IE のコントロール使ってるとかアプレットとか
なら気にしなくても良いが。
0687685NGNG
>>686
ありがとう〜
英文印刷して読んでやろうかと思っていたところでした、
ホント助かります。
0688デフォルトの名無しさんNGNG
>>683
RFCにはサイズを(Content-Lengthかchunked encodingで)「付けなけれ
ばならない(MUST)」って書かれてるんだけどね(さもないとPersistent
Connectionのとき切れ目が分からない)。
現実はそんなに甘くないということで。
0689デフォルトの名無しさんNGNG
SOCKSV4/V5に対応したクライアントを作りたいのですが、
情報が全く手に入りません。
何処かに良いサンプル落ちてませんかね。。
0690692NGNG
>>688
を、persistent connection の時はデータ長を明示的に渡さな
ければならないということを言い忘れてた。まぁどのみちサーバ
側が persistent connection を拒否して長さ省略で返す場合
もあるんだけどね。
0691デフォルトの名無しさんNGNG
仕様上はmustだってことでいいの?
0692デフォルトの名無しさんNGNG
サーバクライアントタイプのネットゲーを作ったとして、
それを24時間だれでも遊べるようにしたいのですが。

自宅のPCにサーバプログラムを放り込んで、
24時間ネットにつなげっぱなしにすれば実現できますか。

大手のサーバのように、24時間信頼性の高い
(ちょくちょく切断されない)サーバを個人で運営するには
どうすれば良いのですか。
0693デフォルトの名無しさんNGNG
通信技術板で聞いた方がいい答えが期待できると思うよ
それと回線は何なの?
0694692NGNG
いまADSLで接続してます。
外部から電話がかかってくると切断されますが…
0695682NGNG
>>691 RFC 2068 か 2616 の "4.4 Message Length" 読んでみ。
message-body 長の決定方法に "By the server closing
the connection." って書いてあるから (RFC 2616 は
transfer-length になってる; 当然か)。Content-Length もしくは
Transfer-Encoding: chunked のどちらかを使わなければならない
という MUST 要求はなかった。
0696デフォルトの名無しさんNGNG
>>694
それは保安器交換で直ると思われ
http://salami.2ch.net/test/read.cgi?bbs=isp&key=995877420
スレ違いなのでsage
0697デフォルトの名無しさんNGNG
http://www2.odn.ne.jp/~aaj02540/img/P000172F.jpg
こういうネットワークエラーがでるんですけど、
どなたかアドバイスお願い致します。
0698デフォルトの名無しさんNGNG
>>697
(・∀・)チンコ!!
0699デフォルトの名無しさんNGNG
エロサイトばっかみてんじゃねーぞ、ゴルァ!って意味です。
0700デフォルトの名無しさんNGNG
700!
0701デフォルトの名無しさんNGNG
>>697
精神的ブラクラにつき開くことなかれ
0702デフォルトの名無しさんNGNG
>>695
ガイーン(T_T)
データ転送をHTTPで済まそうと思ったけど甘かったかな・・・
データ本体をパーズせずに転送エラーをチェックしたかったんだけど・・・
ご教授ありがとうございます。
0703デフォルトの名無しさんNGNG
ここの日記の 8月23日 には HTTP がらみの話が載っている。
ttp://www.geocities.co.jp/SiliconValley-Oakland/1680/memo0008.html
0704デフォルトの名無しさんNGNG
>>702 Content-MD5 を使え。
0705デフォルトの名無しさんNGNG
>>704
調べてみます。これってサーバのCPU食いませんか?なんとなく心配。
0706デフォルトの名無しさんNGNG
ソケットとMQの長所、短所は?
0707デフォルトの名無しさんNGNG
MQってなに?
0708デフォルトの名無しさんNGNG
Javaでメール送信プログラムを組んでいるのですが、
メールがうまく送信できずに悩んでいます。
やっていることは、DNSに問い合わせて、MXレコードを引いて
直接相手側のSMTPにメールを送っています。
エラーの内容は、

>501 Invalid domain name

と出るのですが、なにか対処法ご存知の方いらっしゃいますか?
■ このスレッドは過去ログ倉庫に格納されています