TIdFTPServer でのソケット操作

解決


迷子の子犬  2003-07-05 04:17:47  No: 4007

先日からいろいろお騒がせしています.

TIdFTPServerを使用しているのですが
通信パケットのやりとりにおいて
相手側からQuitを受け取ると
ACKと同時にFINを送ってしまいます.

相手側の機器はクライアントになり
切断処理はクライアント側から送るものと考えているようで
パケット通信上で見るとQuitのAckをもらった後
Finを送ってきますがこちらはすでにFinを送って終了しているので
相手のFinに対してはAckを返すだけです。
<<現状>>
クライアント  −QUIT→  サーバー
              ←ACK −
              ←FIN −
              −ACK →
              −FIN →  ※
              ←ACK −  ※
                ::
              ※を数回繰り返す

以前はTcpClientとTcpServerを駆使して
FTPServerもどきを作っていたのですが
このときは   SetSockOpt を使って
LINGERを利用することで以下のようになります。

<<過去>>
クライアント  −QUIT→  サーバー
              ←ACK −
              −ACK →
              −FIN →
              ←ACK −
              ←FIN −
              −ACK →
              通信終了

詳しくはわからないのですが
スライドウィンドウ??とかの機能がクライアントには無いようで、
常に3ウェイハンドシェ−クでないとだめなようですね.

聞きたいことはTIdFTPServerを使ってSetSockOPTを使ったり
上記のスライドウィンドウ??のオフをするようなことはできないのでしょうか?

質問ばかりですみません。


迷子の子犬  2003-07-23 19:06:34  No: 4008

現在症状が出なくなりました.

変更はしていないのですけど
何かのタイミングがあるんでしょうか?

また、問題がおこったら質問させていただきます.


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加