1 名前:デフォルトの名無しさん mailto:sage [04/08/28 09:50] The Indy Project www.indyproject.org/ ./\ /\ /:::::::ヽ____/::::::::ヽ、 / ::. _ .::::::::::::: _::::ヽ_ / / °ヽ_ヽv /:/ °ヽ::::::ヽ / /.( ̄( ̄__丶 ..( ̄(\ ::::| ぐぐってもわかんないよ〜 . | .:::::::: ) )/ / tーーー|ヽ) ) .::::: ::| . | .::::...( (..||. | ( ( ::| だれかたすけて〜 . | :::. ) )| |⊂ニヽ .| ! ) ) ::::| | : ( ( | | |:::T::::.| ( ( ::| \: ) )ト--^^^^^┤ ) ) 丿 / ( ( ( .( \ / .、.) ) / \ _ \ INDY TIPS monazilla.org/document/indytips.html DelWiki - Indy onigiri.s3.xrea.com:8080/delphi/index.php?Indy Indy 日本語ヘルプ www.borland.co.jp/delphi/del7docup.html
862 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 22:05:36 ] >>861 フォーム破棄時にそれを入れてみました するとIOHandlerのソース周りで例外が・・・ IOHandler.Close; だとこの例外はでないけど Disconnectの例外が出るんですよね・・・ んー、わけわかめ
863 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 23:40:21 ] >>862 誤答サーセン indy9と10の違いにとまどいつつもTCP/UDP共に 接続送受信切断まで出来ました。 ホント便利ですなindy。
864 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 00:11:44 ] IdTCPServerとIdTCPClientで通信しているのですが、 IdTCPClientはIdTCPServerのように受信を検知することはできませんでしょうか? 仕方なくTimerを使って定期チェックしているのですがどうにも処理が重くて。
865 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 10:54:54 ] サーバ側との通信路が遮断されてもクライアントでは気が付かないこともあるので クライアントはサーバとの接続がいつ切れてもいいようにするべき なのでわがまま言わずに定期チェックしませうw
866 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 13:28:52 ] あざーす。 定期受信チェックなのですが、 データ到着の有無を返してくれる関数が見つからないので(Indy10です) var RcvDt:TIdBytes; IdTCPClient1.IOHandler.ReadTimeout := 1; IdTCPClient1.IOHandler.ReadBytes(RcvDt,-1); if Length(RcvDt) = 0 then Exit; というようにデータの受信を判断しているのですが、 本当は他に何かナイスな到着判断方法があったりするのでしょうか?
867 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 14:03:34 ] 俺はエスパーじゃないので答えられないよw でも通常はつないでデータもらえるか待ってみて もらえたら受け取って切る、を繰り返すけどね。 メールクライアントもそうでしょ?
868 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 15:50:34 ] >>866 昔、Indyt使って遊びで作った複数チャットのソース見直してみたら ログオン後に、Readを別スレッドで回してたな 1人が書き込むと、サーバ介して全員にメッセージがすぐに届くというやつ まぁ、連続したデータじゃなければ >>867 の形だろうし 他には UDPを組み合わせて、メッセージ着信のトリガーを サーバから受け取るなんてのが、効率が良いんじゃないかな
869 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 17:01:40 ] まぁたしかに馴染みがなければブサイクなコードに見える
870 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 17:26:53 ] あざーす参考になります。 IndyもDelphiも直接は関係ないのですが、 インターネットを介してルーター越しにTCPとUDPで通信しとりまして、 ホスト側のポートさえ開いていれば双方向のTCPが繋がるのはなんとなく分かるのですが、 UDPで通信する場合ホスト(port開いてる)→クライアント(port閉じてる)は届かないものの、 一度クライアント→ホストにUDPで何か送ると、 なんかしばらくの間ホスト→クライアントのUDP通信が届くようになるのですが、 この仕組みやら、再び通信が届かなくなるまでの時間やらよく分かりません。 他のスレが過疎っているのでちょっとこちらに書かせていただきました。 どなたかご存じの方いらっしゃいますでしょうか?
871 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 18:39:56 ] >>870 ルータのNATタイマーじゃないの?
872 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 21:18:34 ] あざーす。 調べてみましたがこんな仕組みがあったとは。
873 名前:デフォルトの名無しさん [2008/10/30(木) 07:13:34 ] おはようございます。 質問ですが、DelphiでidFTPを使って鯖にログインした時にリストボックスにアイテムをリストアップさせたいのですが、どうにもうまくいきません。 以下がコードです。 procedure Tform1.DisplayFTP; var i, c : Integer; s : String; begin lbDirectory.Items.Clear; FTP.List(lbDirectory.Items, '', false); end; procedure TForm1.FtpAfterClientLogin(Sender: TObject); var i, c : Integer; s : String; begin DisplayFTP; end; おかしい箇所とか改善箇所ありますでしょうか?
874 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 07:25:55 ] >>873 「うまくいきません」の内容をはっきり書いて質問することから改善した方が・・・
875 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 08:21:39 ] >>874 すいませんでした。 うまくいかない内容は、ログイン成功したあとにきちんとリストアップしてくれないという事です。
876 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 22:26:13 ] synapseに汁!
877 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 23:07:27 ] >>873 普通にデバッグしろよw
878 名前:デフォルトの名無しさん [2008/10/31(金) 06:48:10 ] 結局875の解決になってないなw まあおれも原因わからんが
879 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 12:44:17 ] ソース見ないとわからないもん
880 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 14:55:06 ] >>879 873
881 名前:873 mailto:sage [2008/11/03(月) 14:41:53 ] ここでの質問はあきらめて別のところで質問してみます。
882 名前:デフォルトの名無しさん [2008/11/17(月) 15:40:01 ] age
883 名前:デフォルトの名無しさん [2008/12/24(水) 22:25:11 ] なんか、公式サイト 死んでね??
884 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 22:51:57 ] 大丈夫みたいだけど?
885 名前:デフォルトの名無しさん [2008/12/25(木) 00:07:28 ] あ、サイト自体は生きてるけど、ダウンロードとかが404
886 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 00:16:13 ] ああ、QCとかも動いてないね。メンテナンスでなんかやらかしたか?