[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 05/09 19:49 / Filesize : 97 KB / Number-of Response : 416
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



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/

369 名前:デフォルトの名無しさん [2009/02/12(木) 20:20:41 ]
IPアドレスを取得まではできたのですが、
取得したIPアドレスを利用して「ping」をうちたいのですが
どうしたらpingをうつプログラム書けますか?
手順を教えてください(ex 関数などを)

370 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 20:29:12 ]
使ってる言語くらい書け。

371 名前:デフォルトの名無しさん [2009/02/12(木) 20:50:31 ]
C言語です。

372 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 22:04:37 ]
ping()

373 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 22:20:59 ]
なんで途中までは出来た、みたいな言い方になってんだ

374 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 22:57:05 ]
>>369 ping したいんだけだたら system("ping ...")


375 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 23:26:29 ]
おまいら、理解力の無い俺に救いの手を・・・

ルータ越しにサーバーとクライアントのプログラムを走らせるとして、
サーバーをSourcePort10000で立ち上げる。
クライアントをSourcePort5000、DestinationPort10000でサーバーに接続する。

この場合、サーバー側のポート10000を空けないと接続できないんだけど、
クライアント側はポートを空けなくても送受信できちゃいます。
なんでなの?(´・ω・`)

376 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 23:29:40 ]
インバウンドしかブロックしないファイアーウォールなんだろ

377 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 23:33:44 ]
>>375
> サーバーをSourcePort10000で立ち上げる。

SourcePort→AcceptPort



378 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 23:37:00 ]
>>376
クライアントは受信もできちゃうんだけど
そゆものなの?(´・ω・`)

>>377
AcceptPortだったか
ありがとうございます。

379 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 23:57:36 ]
>>378
そゆものでしょ

380 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 01:01:06 ]
>>379
そんなのいやだぁぁぁ
ちゃんと理解したいぃぃぃ

なんでポート開いてないのに受信できるの!

( ゚д゚)<誰かぁぁぁぁ

381 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 01:18:21 ]
>>380
ファイアーウォールは外向きのパケットが通るとその発信元ポート、アドレス、
及び通信先ポート、アドレスの4組の情報を「セッション」として覚える。
パケットが帰って来るとそのセッションに当てはめ、一致するセッションがあれば
通してあげる。

382 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 01:32:24 ]
SPI

383 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 01:39:11 ]
>>381
おー、そうなのですか
だからサーバーはポート開けないとダメなのかー
理解できますた。
分かりやすい解説ありがとうございましたヽ(´ー`)ノ

>>382
SPIググってみました。
Stateful Packet Inspection
これか、これなのか!
勉強になりますたヽ(´ー`)ノ


384 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 15:31:17 ]
ヽ(´ー`)ノヽ(´ー`)ノヽ(´ー`)ノヽ(´ー`)ノヽ(´ー`)ノ

385 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 20:54:37 ]
無免許でのネットワークプログラミングは処罰の対象ですよ。

386 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 20:57:16 ]
また大阪か

387 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 21:38:50 ]
ネットワーク従事者の許認可は逓信省電波管理局の管轄です



388 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 10:16:09 ]
免許は逓信大臣が交付じゃね?

389 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 10:28:44 ]
情報処理技術者試験 (ネットワーク) は、橋本龍太郎 通産大臣 (当時) だったな。

390 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 23:35:59 ]
高負荷になるとrecvがECONNRESETを返すようになってしまいます。
なにか心当たりがある方いらっしゃいますか?

391 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 23:38:14 ]
>>390
リモートのホストに聞いてください。

392 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 23:41:18 ]
「おらくたびれただよ、ちょっと休ませてくれかの?」

393 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 00:50:10 ]
>>391

リモートのホストもこちらの制御下なのですが。。


394 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 00:50:39 ]
じゃあ聞けよ。

395 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 00:50:59 ]
どうやって制御してるの?

396 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 01:21:34 ]
>>395
リモートのホストに聞いてください。


397 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 01:23:55 ]
>>396
ちがう。

リモートのホストが>>393の制御下にあるというから、
どうやって制御しているのかを聞いている。



398 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 10:39:33 ]
いろいろ説明不足ですいません。。

クライアントでrecvするとECONNRESETが返ってきます。
サーバ側でアクティブ・クローズしてるのですが、これが原因なんですかね?
処理の流れとしては、以下のような感じになっています。

client    server
       accept
connect
send
       recv
       send
recv     close (クライアントのrecvとサーバのcloseとのタイミングが問題?)
close

よく考えると、サーバ側でsendしても実際は送られてない可能性が高いので、
その後すぐcloseしてしまうのは、問題な気もしますが、
高負荷でないとこの方法でうまく行きます。
(うまく行ってる場合は、たまたまsendがすぐにデータを転送していたということでしょうか?)
サーバ側では、sendしたあと、peerがcloseしたのを確認した後にcloseするのが
いいのでしょうか?
(recvで0が返ってくるまでcloseしないとか)

どなたかご教授ください



399 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 11:00:24 ]
>>398
> (recvで0が返ってくるまでcloseしないとか)

& shutdown

400 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 11:00:38 ]
>>398
最後サーバからなにsendしてるのかしらんけど
双方のパケットの内容はモニターしてチェックしたの?
してないんだったらまずはそっからじゃね?

401 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 11:00:44 ]
>>398
www.kt.rim.or.jp/~ksk/wskfaq-ja/newbie.html#howclose

402 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 11:45:12 ]
>>399,401
ありがとうございます。

1. データ送信を完了する。
2. shutdown()をhowパラメータを 1 に設定して呼び出す。
3. recv()が 0 を返却するまでループする。
4. closesocket()を呼び出す。

1の「送信を完了する」というのは、実際に送信が完了したかの確認ではなく、
send(write)を呼んでstatusがOKかを確認するということでいいんですかね?

とりあえず、試してみます。

403 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 11:57:05 ]
そだね、最後にちゃんとFINの立ったTCPセグメントを送ってやるって事。
recv側はちゃんとFINの立ったTCPセグメントを食ってやるって事。
それでどちら側もちゃんとshutdownできる。
何も難しいことはやってない。


404 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 19:23:21 ]
非同期ソケットでFD_READの通知がきたとき
int ret = recv(socket , buf , 128 , 0 );//whileループは使わない。
ret == -1はあるきがするのですが(ブロッキングなど)
ret == 0はあるのでしょうか?
ブロッキングソケットの場合はrecvでとまっているので ret == 0で切断などであるとは思うのですが。

405 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 02:39:11 ]
マニュアルにないと書いてなければあると思わなければいけない。

406 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 10:35:44 ]
>>361ですが、やっとこ、つながりました。一週間でしたね。
サーバー管理している皆様
セキュリティは、ほどほどにお願いします。

407 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 10:38:02 ]
お前氏んでいいよ



408 名前:デフォルトの名無しさん [2009/02/17(火) 12:21:38 ]
>>407
おまえの母ちゃんよりマシ。

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しても開き直っている奴いるしね。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<97KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef