ネットワークプログラミング相談室 Port23at TECH
ネットワークプログラミング相談室 Port23 - 暇つぶし2ch395:デフォルトの名無しさん
09/02/15 00:50:59
どうやって制御してるの?

396:デフォルトの名無しさん
09/02/15 01:21:34
>>395
リモートのホストに聞いてください。


397:デフォルトの名無しさん
09/02/15 01:23:55
>>396
ちがう。

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

398:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/02/15 11:00:24
>>398
> (recvで0が返ってくるまでcloseしないとか)

& shutdown

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

401:デフォルトの名無しさん
09/02/15 11:00:44
>>398
URLリンク(www.kt.rim.or.jp)

402:デフォルトの名無しさん
09/02/15 11:45:12
>>399,401
ありがとうございます。

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

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

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

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


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

405:デフォルトの名無しさん
09/02/17 02:39:11
マニュアルにないと書いてなければあると思わなければいけない。

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

407:デフォルトの名無しさん
09/02/17 10:38:02
お前氏んでいいよ

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

409:デフォルトの名無しさん
09/02/17 12:39:25
サーバー管理者から害のあるスクリプトと認定されるものを走らせてアク禁くらって
まるでサーバー管理者側が悪いかのような口のきき方すれば
罵声を浴びるに決まってるだろ

人のことをとやかく言う前にまず自分のスキルを上げろって話さ

410:デフォルトの名無しさん
09/02/17 14:13:00
>>409
あっそ

411:デフォルトの名無しさん
09/02/17 14:58:21
>>410
うん
そういうこと

412:デフォルトの名無しさん
09/02/17 15:01:41
まあ普通にサーバ管理者に問い合わせれば済む話だしな。

413:デフォルトの名無しさん
09/02/17 18:00:16
一応書いておきますが、406と408、410は、別人です。
わたしは、どのみちシロウトです。

414:デフォルトの名無しさん
09/02/17 18:38:28
>>413の付け足しですが。
>>406は、ただ最後にちょっと気の利いたことを書いておこうと
思っただけです。
気に障ったらすみません。
でもネットには、けんかを買いたい人が待ち構えてるんだね。
>>408には、笑った。

415:デフォルトの名無しさん
09/02/17 19:40:55
ネットにはよそのサイトをDoSしても開き直っている奴いるしね。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch