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
175 名前:デフォルトの名無しさん [05/02/24 08:44:50 ] C++Builderへのインストール方法を教えてください
176 名前:169 mailto:sage [05/02/24 09:59:51 ] 何でも知ってまつね>>174 ヘルプみると、「Hypertext Transfer Protocol 仕様に基づいて,サーバーのリスニングスレッドのデフォルトポート番号」とありますね。 だから、仕様の名称そのまま取って、Default Portってことなんかなぁ。 色んな種類のサーバーアプリを作ってみようかと思うんですが、 業務毎にポート変えるってのはどうなんでしょ。 TCP/IP的には利用内容毎にポートを変えるということですが、 HTTPはポート80で固定して、参照アドレスでアプリ切り替えようかなぁ。
177 名前:デフォルトの名無しさん mailto:sage [05/02/24 16:05:14 ] >>176 おまいが知らなさ杉の気もするけど・・・。
178 名前:デフォルトの名無しさん mailto:sage [05/02/24 16:31:40 ] サーバーは固定、クライアントは自由、IP+ポートで十分識別可能
179 名前:デフォルトの名無しさん mailto:sage [05/02/24 17:09:48 ] >>175 ググれ!と言いたいけど、まとまった情報があまりないし、FAQになりつつあるな・・・ BCBスレ辺りにテンプレにしておいた方がいいかも。一応、まとめたから添削よろしく。 まず、Indy10は今のところBCBをサポートしていない。あと、BCB6とIndy9が前提。 1.一度、BCBをアンインストールしてから、再インストール。 そのときに、完全インストールではなく、Indyは除外してインストールすること。もちろん、Update4を当てるのも忘れずに。 (BCBのインストーラーを起動してIndyだけ削除してもいいけど、トラブルの可能性あり。再インストール推奨。) 2.アーカイブを適当なフォルダで展開。 3.Indy_9_00_xx_srcの下にあるFullc6.batを実行 4.展開したフォルダにC6というフォルダが出来るので、これをフォルダごと$(BCB)\lib\にコピー。コピーしたら、フォルダ名をC6でなく、Indy9とする。 5.BCBを起動する。[ファイル]−[すべて閉じる]を選択して、プロジェクトが何も開かれていない状態にする。 6.IDEの[コンポーネント]−[パッケージのインストール]を選択。「追加」をクリックして、$(BCB)\lib\Indy9\dclIndy60.bplを選択。 7.IDEの[ツール]−[環境オプション]から[ライブラリ]タブを選択。 8.ライブラリパスに$(BCB)\lib\Indy9\を追加。 内容は↓を参考にした。 ttp://deuxdeux.hp.infoseek.co.jp/gikobuild.html あと、漏れの環境だと[プロジェクト]−[オプション]−[ディレクトリ/条件]の インクルードパスにも$(BCB)\lib\Indy9\を追加しないとリンカエラーが起きる。 それも、Includeの優先度を$(BCB)\include\vclより高くし無いと駄目。
180 名前:デフォルトの名無しさん mailto:sage [05/02/24 17:36:47 ] >>176 手段と目的が入れ替わっているような気がする Delphi+Indyでやらなあかんもんなのかしばらく自問自答しれ
181 名前:デフォルトの名無しさん mailto:sage [05/02/24 18:43:52 ] >>180 やらなあかん。
182 名前:デフォルトの名無しさん mailto:sage [05/02/25 08:09:36 ] >>181 じゃあ止めないw >>176 の件はhttpだというのならブラウザでアクセスするんだろうから Clientのことを考えればポートを変えるのは得策でない よって最終行の方法を推奨する Bindingsプロパティの「...」押せばどうやればいいかわかるっしょ
183 名前:デフォルトの名無しさん mailto:sage [05/02/28 19:01:04 ] >>182 いや、実はhttpでありながらブラウザじゃないんだ。 Winと機器の通信みたいな。 HTTPだとどこでもライブラリ有りだし、ルータ越えしやすいし。 となると、ポートはやっぱ80しかダメか。
184 名前:デフォルトの名無しさん mailto:sage [05/03/01 08:25:25 ] >>183 ルータ越えしやすいってそれは違うだろという突っ込みはともかく 普通のhttp通信に紛れ込ませたいのであれば80しかないだろうな
185 名前:デフォルトの名無しさん [05/03/01 09:56:06 ] IndyのHTTPサーバーで作ったアプリが、 IPv6対応してるかどうか聞かれたら、 何と答えれば良いのでしょうか?
186 名前:デフォルトの名無しさん mailto:sage [05/03/01 10:01:43 ] してません
187 名前:デフォルトの名無しさん mailto:sage [05/03/01 10:03:17 ] Q「今後の対応はどうなりまつか?」
188 名前:デフォルトの名無しさん [05/03/03 11:17:11 ] POP3でサーバに残す設定で、一度読み込んだメッセージを再度読み込まないようにするにはどうしたらよいのでしょうか?
189 名前:デフォルトの名無しさん mailto:sage [05/03/03 15:06:34 ] >>188 MessageID憶えておけば?
190 名前:デフォルトの名無しさん [05/03/03 15:52:21 ] >>188 UIDLをつかう
191 名前:デフォルトの名無しさん [05/03/04 11:07:44 ] IndyのHTTPサーバーで、クライアントにBASIC 認証ダイアログを出させるには、どうしたら良いでつか?
192 名前:デフォルトの名無しさん mailto:sage [05/03/04 19:39:59 ] 403を返せ
193 名前:デフォルトの名無しさん mailto:sage [05/03/04 23:18:02 ] 401じゃなかった?
194 名前:デフォルトの名無しさん [05/03/08 08:57:11 ] サンプル無いんでつか? その後認証ダイアログに入れられたユーザ、パスワードの取り方も知りたいし...
195 名前:デフォルトの名無しさん mailto:sage [05/03/09 07:48:52 ] >>194 サンプルは知らないけど、新月っていうP2PBBSのDelphi版で IndyのTIdTCPServerを使ってBasic認証を使ってた。 この辺りを参考にしたらガリガリとならかけそう。スマートなやり方誰かキボンヌ ttp://www.studyinghttp.net/auth ttp://www.studyinghttp.net/rfc_ja/rfc2617.ja ttp://www.ietf.org/rfc/rfc2617.txt 「WWW-Authenticate: Basic realm="hogehoge"」を含む HTTP/1.0 401 Authorization Required を返すと ブラウザがダイアログ出してパスワードとかが入れられて Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== とかでリクエストがもう一回来るから、Base64をデコードしたら userid:password ←コロンで区切ってある が入っているらしい。 でいいかしら。
196 名前:デフォルトの名無しさん mailto:sage [05/03/09 15:42:01 ] >>194 uses に IdContext を手動で追加 (何故か自動では追加されないらしい) procedure TForm1.IdHTTPServer1CommandGet(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo); begin if (ARequestInfo.AuthExists = True) and (ARequestInfo.AuthUsername = 'username') and (ArequestInfo.AuthPassword = 'password') then begin // Auth OK // AResponseInfo.ResponseNo := 200; end else begin // Auth NG // AResponseInfo.ResponseNo := 401; AResponseInfo.AuthRealm := 'input username and password' end; end; Indy10 しか使ったことないので、Indy9 ではどうなのか分かんないけど。
197 名前:194 mailto:sage [05/03/10 09:53:04 ] サンクスでつ>>195 >>196 これで出来そうです。
198 名前:デフォルトの名無しさん mailto:sage [05/03/10 15:44:08 ] >>196 ありがとう。 こんなプロパティあるのね。Indy9でもありました。
199 名前:デフォルトの名無しさん [05/03/12 05:09:02 ] Indyでsshを使ったプログラムは作れますか? たとえば、sshでログインしてsftpでファイルの転送などはできるのでしょうか?
200 名前:デフォルトの名無しさん mailto:sage [05/03/12 14:45:34 ] >>199 ちょっと調べてみたら、Indy10 には IdSSH.pas という期待出来そうな名前のファイルが。 でも、中身は「作るとすればこんな感じかなぁ」という、要するに何も無い状態…。 つーことで今の所は自分で対応させる以外の方法はなさそうだね。
201 名前:デフォルトの名無しさん [05/03/13 21:39:50 ] >>53 の方法でSSL試してみたら、 繋がることは繋がるけど、すげぇ時間がかかるんだけど…… なんででしょうか? なんかkeyかなんかの設定しないとダメなの? ぐぐってもわかんないよ〜
202 名前:201 mailto:sage [05/03/13 21:45:26 ] ちなみに、WinXP Pro + Delphi7 Pro + Indy9(最新版)です。 環境かかなくてすいません。
203 名前:デフォルトの名無しさん mailto:sage [05/03/14 10:13:16 ] >>201 DNS 絡みの問題じゃないのかな。名前解決がうまくいってないとか。 どのくらいの時間がかかるのか具体的な秒数が分かればなんとなく原因も分かりそう。
204 名前:201 mailto:sage [05/03/15 06:20:50 ] 特定のサイトで遅くなるみたいなんで、DNSがらみっぽいですね。 40秒ぐらいかかります。
205 名前:デフォルトの名無しさん [05/03/16 10:24:14 ] IdHL7.pas って何で塚? もしかして、電子カルテのHL7プロトコル?
206 名前:デフォルトの名無しさん mailto:sage [05/03/16 22:10:27 ] >>205 Indyのヘルプより・・・ > TIdHL7 クラスは,HL7 Minimal Lower Layer Protocol を実装したものです。
207 名前:デフォルトの名無しさん [05/03/20 18:15:03 ] IdIPWatchを使うと、「グローバルIP」は所得できるんでしょうか? またそうじゃないとしたら手段はあるのでしょうか? 他のソフトで所得しているのを見ると、不思議で不思議でしょうがないです。 ご存知の方、よろしくおねがいします。
208 名前:デフォルトの名無しさん [05/03/21 01:58:12 ] >>207 そのパソコンがGIPを持っていれば取得できる
209 名前:デフォルトの名無しさん mailto:sage [05/03/21 02:08:26 ] ここ半年、いつも取得と所得を間違えてるヤツがいるけど同一人物なんだろうか?
210 名前:デフォルトの名無しさん [2005/03/24(木) 20:48:12 ] 最近知ったんですが、ICSというIndyに似たフリーのコンポ集があったんですね www.overbyte.be/frame_index.html このコンポの評判ってどうでしょうか?
211 名前:デフォルトの名無しさん mailto:sage [2005/03/24(木) 21:06:12 ] >>210 かちゅ〜しゃはそれらしい。
212 名前:デフォルトの名無しさん mailto:sage [2005/03/24(木) 23:44:54 ] (´-`)。o ○ (javascriptオフで見に行ったらな〜んにも表示されないページって、 正直どーなんだろう…)
213 名前:デフォルトの名無しさん [2005/03/28(月) 09:15:55 ] indy10をbcbにインストールすることはできますか?
214 名前:デフォルトの名無しさん mailto:sage [2005/03/31(木) 19:45:48 ] >>213 コンパイルとインストールは出来たけど、BCBはサポートされていないからなのか 実行時にエラーが出る。 それとも、やり方が間違ってるのかなあ?
215 名前:デフォルトの名無しさん mailto:sage [皇紀2665/04/01(金) 00:14:47 ] それはエラーによるんじゃないの? 「無理!」って出てるんなら、無理なんだろうしw
216 名前:デフォルトの名無しさん mailto:sage [int 2ch =05/04/02(土) 12:31:45 ] IdTCPServerとIdTCPClientを使ってLANで通信するプログラムを作っているのですが、 ポートを変更すると(Server、Clientとも同じ値)通信出来なくなってしまいます。 再起動すれば、新しく設定したポートで通信出来るのですが、 再起動しないでポートを変更し、通信することは出来ますか?
217 名前:デフォルトの名無しさん mailto:sage [2005/04/04(月) 18:44:13 ] TIdFTPコンポーネントなどでファイルをダウンロードする際、OnWorkイベントで AWorkCount値でプログレスバーを変化させようとしても全く表示が更新されません。 LabelコンポーネントにAWorkCountを入れたときのみリアルタイムで表示が変化します。 後ろにRePaintを置いてもだめです。TIdAntiFreezeも置いています。 なにがまずいのでしょうか。
218 名前:217 mailto:sage [2005/04/04(月) 18:48:04 ] WorkBeginイベントでProgressBar.MaxにAWorkCountMaxはセットしています。 プログラム上はこれでいいと思っているのですが、他に何か入れるべき処理を 見落としているのでしょうか・・。
219 名前:デフォルトの名無しさん mailto:sage [2005/04/06(水) 00:54:03 ] 217,218 ソース書いた方がイイかもしれませんよ。 AntiFreeze置くかわりに、イベントにApplication->ProcessMessages(); 入れてもダメなら、TProgressBarの使い方に問題があると思います。
220 名前:217 mailto:sage [2005/04/07(木) 00:22:04 ] 原因が分かりました。AWorkCountMaxが常に0だったようです。 Helpをよく読むと処理数が不明の場合は0が入るんですね。。
221 名前:デフォルトの名無しさん [2005/04/20(水) 11:42:35 ] IndyのHTTPサーバーのイベントハンドラで応答すれば良いことは分かりましたが、 cgiバイナリやisapi形式のDLLを実行したり出来待つか?
222 名前:デフォルトの名無しさん [2005/04/20(水) 22:42:16 ] 安定性orバグの少なさという点から見ると、Indy8/9/10のどれが優秀ですか?
223 名前:デフォルトの名無しさん mailto:sage [2005/04/22(金) 01:03:17 ] メモリ共有でMLの過去ログをあさっていたら、吐駄ちゃんがTCPを使うと簡単とか 言って、中村タンとやり合っているのだが、どういうプログラムを書くのかがさっぱり 分からんです。 1つのフォームに、TCPサーバーとクライアントを貼り付けて起動すると、 2個目起動したときにエラーで立ち上がらない。 誰か教えて。
224 名前:デフォルトの名無しさん mailto:sage [2005/04/22(金) 04:19:04 ] 複数のサーバープロセスが同じポートをbindしようとしてるだけだろ
225 名前:デフォルトの名無しさん mailto:sage [2005/04/22(金) 08:43:37 ] それは分かっていたんだが、それだと起動する毎にポート番号を変えて 通信する時に全ポート番号に送信するって事でしょ? メモリ共有とどっちがお勧め?(メモリ共有の方法は分かりました。)
226 名前:225 mailto:sage [2005/04/22(金) 09:32:37 ] Indyのデモみてたらわかたよ。 どもね。
227 名前:デフォルトの名無しさん mailto:sage [2005/05/02(月) 03:33:49 ] オレの環境が悪いのか、オレ自体が悪いのか、 分からないけど、こんなに例外が出るんじゃ 配布出来ないなぁ。 オレは自分用だけに使ってるからいいけど。 どーなの? ってことで保守。
228 名前:デフォルトの名無しさん [2005/05/05(木) 16:52:50 ] メールのUIDLの取得方法を教えてください
229 名前:デフォルトの名無しさん mailto:sage [2005/05/07(土) 05:25:53 ] >>227 正常に接続が終了したときも例外が投げられるけども、ちゃんと無視してる?
230 名前:227 mailto:sage [2005/05/07(土) 23:35:50 ] >>229 ん? ちょっと話が見えない…。 オレが書いた例外ってのは、「メール受信時」の話。 説明が足りなかったか。
231 名前:デフォルトの名無しさん mailto:sage [2005/05/08(日) 01:15:34 ] >>230 > 説明が足りなかったか。 むしろ >>227 では何一つ説明してませんが。
232 名前:227 mailto:sage [2005/05/08(日) 01:32:29 ] >>231 まぁね。 保守がてらだし。
233 名前:デフォルトの名無しさん mailto:sage [2005/05/11(水) 13:59:45 ] メールのUIDLの取得方法を教えてください
234 名前:デフォルトの名無しさん [2005/05/13(金) 10:21:40 ] QuickReportって、プリンタの用紙トレイを間違えたりとかしますよね。 回避方法教えて下さいでつ。
235 名前:デフォルトの名無しさん mailto:sage [2005/05/13(金) 11:28:12 ] raveにする
236 名前:デフォルトの名無しさん mailto:sage [2005/05/13(金) 11:41:35 ] (;゚д゚)rave・・・ ( ゚∀゚)rape!!
237 名前:デフォルトの名無しさん mailto:sage [2005/05/13(金) 15:14:45 ] IdHTTP.Getで大きなファイルを落としている最中に中断する方法を教えてください。
238 名前:デフォルトの名無しさん mailto:sage [2005/05/13(金) 15:28:49 ] >>237 IdHTTP.Disconect;
239 名前:238 mailto:sage [2005/05/13(金) 15:31:29 ] あひゃ、間違えた… × IdHTTP.Disconect; ○ IdHTTP.Disconnect;
240 名前:デフォルトの名無しさん [2005/05/13(金) 20:11:28 ] LANでつながってるPC(windows)に 受信プログラムをインストールしないで ファイルのプッシュ配信を行いたいのですが INDYでできますでしょうか?
241 名前:デフォルトの名無しさん mailto:sage [2005/05/13(金) 21:03:29 ] >>240 出来ます。
242 名前:240 [2005/05/13(金) 21:17:08 ] >>241 必要なコンポーネントととりあえずの 使用方法を教えてくれませんでしょうか? 親PC=hostAのc:\a.txtを 子PC=hostBのc:\に同名でコピーする場合。
243 名前:デフォルトの名無しさん mailto:sage [2005/05/13(金) 23:51:16 ] さあ、スタートアップフォルダにトロイをインストールする準備は出来たかい?
244 名前:デフォルトの名無しさん mailto:sage [2005/05/14(土) 02:59:50 ] >>242 x:ドライブで共有しているとして CopyFile("c:\\a.txt","x:\\a.txt",false); でうまくいくはず。(確認はしていません) っていうか、これはindyの質問じゃないだろ?以後はC++Builderスレへ
245 名前:デフォルトの名無しさん mailto:sage [2005/05/14(土) 03:22:27 ] sftpを使ってlinuxのファイルを取得するにはどうしたらよいのでしょうか?
246 名前:242 [2005/05/14(土) 23:41:33 ] >>243 あいにくそういう用途ではありませんので。 社内業務に使うのです。イメージとしては Nortonコーポレートエディションのクライアントへの リモートインストールのように親PC主導の プッシュ型でファイルを配信したいのです。 >>244 このやり方では、確かにINDY関係ありませんね(笑) でもこれでは親が共有場所(X)を提供するまでは できますが、ファイルコピー実行は子毎がやる必要がありますよね。 親からの命令で自動的に子に実行させる方法はWINDOWSのatコマンド でタスクに登録したり、rexecコマンドで直接実行したりする方法が ありますが、こういう方法しかないということでしょうか? 私はindy未使用のやり方を聞きたいのではなくindyでこういったこと ができるかどうかが知りたいのです。
247 名前:242 [2005/05/14(土) 23:53:25 ] ttp://www.wackyfactory.net/domvw/ このソフトも電源切断コンソールをリモートで クライアントに配布できるんだけど こういったことをしたいんです。 (わかりにくくてすみません)
248 名前:デフォルトの名無しさん mailto:sage [2005/05/15(日) 02:11:36 ] >リモートで クライアントに配布できる そんなことどこにも書いていないぞ
249 名前:デフォルトの名無しさん mailto:sage [2005/05/15(日) 03:02:01 ] 根本的に勘違いしているような気がするな
250 名前:デフォルトの名無しさん mailto:sage [2005/05/15(日) 03:21:21 ] >>242 セキュリティの脆弱性をついてみるのが手っ取り早いと思います。 セキュリティパッチが最新のものまで当ててあると難しいかと思います。 OSの詳細なバージョンを教えてください。
251 名前:242 [2005/05/15(日) 10:02:28 ] >>248 「イメージとして」って書いてますが、逆にわかりづらかったでしょうか? すみません。ファイル配布ができればokです。 >>250 子(クライアント)はwindows2000proとxpと混在です。セキュリティはアップデートで 重要な更新をパッチ済みレベルです。親も同様の環境での実現を希望しますが、 無理なら親だけserverですかね。 どちらにしてもindyコンポーネントで実現できないのであればスレ違いに なりますので消えますが(241さんができるって即答だったもんで。。)
252 名前:デフォルトの名無しさん mailto:sage [2005/05/15(日) 10:07:04 ] >>251 できない。 indyを使わなくても出来ない。 あきらめろ。
253 名前:242 [2005/05/15(日) 10:08:07 ] >>252 わかりました。汚してすみませんでした。
254 名前:デフォルトの名無しさん mailto:sage [2005/05/15(日) 11:28:31 ] sshでログインしたいのですが、どのようにすればよいのでしょうか?
255 名前:デフォルトの名無しさん [2005/05/16(月) 15:11:15 ] Indy10のC++Builder6へのインストール方法を教えてください
256 名前:デフォルトの名無しさん mailto:sage [2005/05/16(月) 17:43:16 ] >>255 1.インストーラを実行する。 2.あとは画面の指示に従ってインストールを進めてください。
257 名前:デフォルトの名無しさん mailto:sage [2005/05/16(月) 23:21:32 ] >>256 インストーラが見つからないのですがどのファイルなのでしょうか?
258 名前:デフォルトの名無しさん mailto:sage [2005/05/16(月) 23:46:48 ] >>253 汚されたわ・・・・
259 名前:デフォルトの名無しさん mailto:sage [2005/05/17(火) 00:42:17 ] >>257 DLしたパッケージが間違ってるンジャマイカ ttp://www.indyproject.org/download/Files/Indy10.iwp の Automatic Install から入って見れ
260 名前:デフォルトの名無しさん mailto:sage [2005/05/17(火) 01:17:43 ] >>259 それをたどっていったのですが、C++Builderをクリックしていくと最終的にSource Codeダウンロードのページに戻ってしまいます。 C++Builder用Automatic Installファイルはどこにあるのでしょう?
261 名前:デフォルトの名無しさん mailto:sage [2005/05/17(火) 01:24:08 ] > No automated install is available. Please use the open source distributions. 無いってさ。
262 名前:デフォルトの名無しさん [2005/05/25(水) 00:22:34 ] Delphi6ProでIndy8と9を共存させる方法ありますか? 教えてくだされ
263 名前:デフォルトの名無しさん mailto:sage [2005/05/25(水) 21:47:56 ] >>262 1つのプロジェクトで8と9の両方使うようなことをしないなら、 プロジェクトごとにインクルードパスを変えたらいけそうだけど。
264 名前:デフォルトの名無しさん [2005/05/29(日) 08:21:23 ] >>179 の通りにやってインストールはできたのですが、デバッガが使えなくなりました。 これは仕様ですか?
265 名前:デフォルトの名無しさん [2005/05/29(日) 09:49:44 ] 一つ教えて欲しいです。 IdTCP接続で、ファイル転送したときは レジューム可能でしょうか?
266 名前:デフォルトの名無しさん mailto:sage [2005/05/29(日) 09:57:51 ] 不可能
267 名前:age [2005/05/29(日) 11:07:20 ] >>264 「デバッガが使えなく」って、どのような状況?
268 名前:デフォルトの名無しさん mailto:sage [2005/05/29(日) 11:23:18 ] >>267 デバッガオプションの統合開発環境を使うのチェックをはずさないと、コンパイルできなくなってしまいました。 これはたとえIndyを使っていないソフトをコンパイルしようとしても起こります。
269 名前:デフォルトの名無しさん mailto:sage [2005/05/29(日) 13:36:53 ] 珍妙な。うちはならんぜよ。
270 名前:age [2005/05/29(日) 14:26:08 ] 「コンパイルできなく」って、どのような状況?
271 名前:デフォルトの名無しさん mailto:sage [2005/06/21(火) 20:02:39 ] >>179 氏を参考にIndy9のインスコまでは完了した。 んで、IdUDPClientを使おうと思います。 送信についてはSendBufferでおkというのはわかったのだが、 受信をするにはReceiveBufferしか見当たらない・・・ やっぱりこれってスレッドで回さないとあかんのでしょうか? NMUDPみたくReceiveイベントがあれば楽なのに・・・orz
272 名前:デフォルトの名無しさん mailto:sage [2005/06/21(火) 20:48:46 ] >>271 うん。でもスレッドコンポーネントとか使えば楽なんじゃない?
273 名前:271 mailto:sage [2005/06/22(水) 09:59:41 ] >>272 情報dクス スレッドコンポーネントっちゅーのは使ったことないんですが、 ttp://www.asahi-net.or.jp/~nk2w-ishr/progdtl.htm#KThdComp これのことですか? なんとなく使用方法はわかったと思います。 中身は普通のスレッドオブジェクトと同じっぽいですね。 で、もう一つ質問があるのですが、ひとまずスレッドではなくボタンイベントにて ReceiveBufferを呼び出すようなサンプルを作り、受信しようとしたのですが、 受信してくれない様子でした。 引数の設定で解決するんかなぁ?って思っております。 晒そうと思ったが現在手元にナッシングですので後ほど晒します。
274 名前:271 mailto:sage [2005/06/22(水) 18:41:20 ] 自己レス なんとか動作できました。 IdUDPClientではなくIdUDPServerを使用したところ、 スレッドにしなくてもOnUDPReadイベントが実装されて いたので、私の理想通りなことが出来ました。 ちなみに>>273 で出来ないと言っていたのは、Bindingsに ハンドルを指定しておりませんでした。 (その前はActiveがfalseのままで出来なかったり・・・もあった) 晒すとこんな感じ static char buff[MAX_DATA]; void __fastcall TReadingForm::IdUDPServer1UDPRead(TObject *Sender, TStream *AData, TIdSocketHandle *ABinding) { for(int i = 0; i < MAX_DATA; i++) buff[i] = '\0'; IdUDPServer1->ReceiveBuffer(buff, 8192, -1); 〜受信処理〜 } ご協力ありがとうございましたm(。_。;)m
275 名前:271 mailto:sage [2005/06/23(木) 13:29:24 ] 自分で修正 IdUDPServer1->ReceiveBuffer(buff, AData->Size, -1); ADataに受信バイト数が入っているから、こう書いたほうがヨサゲ