問題タブ [indy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
delphi - TIdTCPServer からの非アクティブなソケット接続を終了する
Delphi 2007 に同梱されている Indy 10.1.1 コンポーネントを使用して、着信 TCP リクエストをリッスンするアプリケーションがあります。
時折、クライアント アプリケーション以外からの着信接続を受け取ります。通常、次の 2 つのいずれかが発生します。1) データが受信される前にクライアントによって接続が終了されるか、2) 予期しないデータが受信され、手動で接続が終了されます。
ただし、データが受信されず、クライアントが接続を終了するまで持続するように見える接続を受信しました。
指定された時間が経過してもデータが受信されない場合、サーバーからのそのような接続を終了する方法はありますか?
indy - Incy IdDayTime 接続の問題
Delphi 5 Enterprise で、自作のライセンス ファイルを使用するソフトウェアをいくつか作成しました。ライセンスは、それ以上使用できないように、一定の時間が経過すると期限切れになります。PC で任意の日付を簡単に調整できるので、インターネットのタイムサーバーに接続しようとしています。
インターネットで見つけたいくつかのコードを試しましたが、どれも機能しませんでした。私の最後の試みは、Indy コンポーネントをインストールし、次のような単純なコードを使用することでした。
IdDayTime1.Host := .... 希望するタイムサーバー IdDayTime1.Connect; Label1.Caption:= IdDayTime1.DayTimeStr; IdDayTime1.Disconnect;
いつもタイムサーバーに接続できません。これは、さまざまなネットワーク エリア (職場、家庭など) で発生します。これらすべてのネットワークで一般的なインターネット ソフトウェア (firefox、IE など) が正常に動作する場合でも同様です。だから私は適切なインターネット接続を持っていると確信しています。
問題の原因は何ですか? ポートや sth などの特別な詳細を定義する必要がありますか。そうしないと ?
助けてくれてありがとう
delphi - Delphi Indy:SSLライブラリを初めてロードできません。再試行は機能します
最新のインディスナップショット(昨日インストール)と最新のSSLライブラリを使用しています。
idSMTPを使用してメールを送信しようとすると、コンポーネントが最初に接続したときに例外が発生します。
SSLライブラリを読み込めませんでした
。面白いことに、再試行は常に機能します。デバッグ問題はIsSSLOpenSSLHeader、関数Loaad:boolean、lineにあることがわかりました
なぜ最初は失敗し、2回目は失敗しないのかはまだ謎ですが、調査を続ける前に、誰かがこの問題の解決策を知っているかのようにしたいと思います。
delphi - 一部の URL で tidhttp get プロシージャが機能しない
Delphi Tidhttp コンポーネントで、GET プロシージャが特定の URL をフェッチできないが、他の URL では機能しているという問題が発生しています。例: このコードは空の response.datastring を返します。Response.datastring はこの error_url でのみ空ですが、他の URL では response.datastring に値があります。この問題を解決するには、その error_url のコンテンツを取得する必要があります。
ちなみに、idHTTP1 リダイレクト プロパティはここで true に設定されているため、リダイレクトは問題になりません。
これは私が遭遇した例外です: 1. http/1.1 302 Found 2. EDecompressionError with message 'ZLib Error (-3)'
このプロジェクトのソース コード (indytest.zip) は、このリンクhttp://www.yourfilelink.com/get.php?fid=534933でダウンロードできます。
みんな助けてください。前もって感謝します :)
delphi - IndyのSMTPサーバーコンポーネントを使用してメールメッセージを送信するにはどうすればよいですか?
http://www.indyproject.org/Sockets/Demos/index.EN.aspxで提供されているデモでは、受信したストリームのみがファイルに保存されるため、そのストリームをメールとして効果的に送信する方法がわかりません。
誰かが私にこれを行う方法を教えてもらえますか、または私にもっと完全な例を教えてもらえますか?
delphi - Indyを使用して受信した奇妙なまれな異常データ
Indy10で奇妙な問題が発生しており、TCPを使用して次々に送信する2つの大きな文字列(それぞれ数百文字)が、奇妙に絡み合って表示されています。これは非常にまれにしか発生しません。
各文字列はLFで終了する完全なXMLメッセージであり、通常、READプロセスはXMLメッセージ全体を読み取り、LFを検出すると戻ります。
実際にメッセージを送信するための呼び出しは、IOHandlerのwritelnメソッドへの呼び出しの周りのクリティカルセクションによって保護されているため、2つのスレッドが同時に送信することはできません。(クリティカルセクションが適切に実装/機能していることは確かです)。この問題はめったに発生しません。症状は奇妙です...文字列Aに続いて文字列Bを送信すると、もう一方の端で受信したもの(まれに障害が発生する場合)は、文字列Aの後続セクション自体です(つまり、、最後にLFがあります)、その後に文字列Aの先頭セクションが続き、次に文字列B全体の後に1つのLFが続きます。部分的な読み取りの後、「タイムアウト」プロパティがtrueではないことを確認しました。コンテンツを返すすべての読み取りの後にそのプロパティをログに記録します。また、LFを追加して送信する前に、文字列内のすべての英数字以外の文字をスペースに明示的に置き換えるため、文字列にLF文字が埋め込まれていないこともわかっています。
送信側と受信側の両方のクリティカルセクション内にログメカニズムがあるため、「ワイヤ」でこの動作を確認できます。
私たちは完全に困惑しており、この問題を引き起こす可能性のある低レベルのIndyの問題があるかどうか(常に最も可能性は低いですが)、たとえば、バッファが間違った順序で送信されている可能性があるかどうか疑問に思っています。問題ですが、私たちはストローを把握しています。
誰か明るいアイデアはありますか?
delphi - Indy IdSMTP と Thunderbird の添付ファイル
D2010 で Indy ティブロンの最新のスナップショットを使用します。次のような非常に単純なプロジェクト:
Outlook、The bat!、OE、yahoo などではすべて問題なく動作しますが、Thunderbird では添付ファイルが表示されません。Thunderbird でメッセージのソースを見ると、添付ファイルがあります。Indy から送信されたメッセージと他のクライアントから送信されたメッセージの唯一の違いは、Indy メッセージの順序が次のとおりであることです。
他のクライアントには次の順序があります。
それが問題の原因であるかどうかはわかりませんが、そうである場合: これは Thunderbird のバグですか、それともメッセージのヘッダーを「奇形」にする indy の問題ですか? この順番は問題ないですか?とにかくそれは問題ですか?
delphi - アプリケーション (Indy/Delphi) から ASP ページにファイルを送信し、次に別のサーバー (Amazon S3) にファイルを送信する
Amazon AWS S3 にファイルを保存する必要がありますが、AWS 認証からユーザーを分離するために、ユーザーがログインする自分のサイトの ASP ページを経由したいと考えています。そう:
アプリケーションは、Delphi Indy ライブラリの TidHTTP.Put (FileStream) ルーチンを使用してファイルを ASP ページに送信し、クエリ文字列にいくつかの認証情報 (AWS ではなく私のもの) を付けます。
ASP ページは認証の詳細を確認し、OK の場合は Amazon アカウントを使用して S3 にファイルを保存します。
問題は、ASP ページで JScript を使用して Indy PUT から入ってくるデータにアクセスし、それを S3 に渡す方法です。私はAWS署名などでOKです.2つのビット(着信リクエストと発信AWSリクエスト)を接続するための基本的なことです...
ティアR
c++builder - TCP ソケットの異常切断と書き込みタイムアウト
できるだけ短い言葉で問題を説明しようと思います。C++ ビルダー 2010 を使用しています。
TIdTCPServer を使用して、接続されているクライアントのリストに音声パケットを送信しています。クライアントが異常に切断されるまで、すべて正常に機能します。たとえば、電源障害などです。接続されているクライアントのイーサネット接続を切断することで、同様の切断を再現できます。
これでソケットが切断されましたが、サーバー側ではまだ検出されていないため、サーバーは引き続きそのクライアントにもデータを送信しようとします。
しかし、サーバーがその切断されたクライアントにデータを書き込もうとすると...... Write() または WriteLn() は、書き込みを試みる際にそこにハングアップし、ある種の書き込みタイムアウトを待っているようです。これにより、ホール パケットの配布プロセスが停止し、その結果、他のすべてのクライアントへのデータ送信に遅延が生じます。数秒後、「Socket Connection Closed」例外が発生し、データ フローが続行されます。
ここにコードがあります
わかりました私はすでにn秒間非アクティブの後にソケットを切断するキープアライブメカニズムを持っています。しかし、ご想像のとおり、このブロードキャスト ループはほぼ常に実行されているため、このメカニズムはこのブロードキャスト ループと正確に同期できません。
それで、iohandlerなどを介して指定できる書き込みタイムアウトはありますか?「切断された tcp ソケットの検出」に関する多くのスレッドを見てきましたが、私の問題は少し異なります。書き込み試行中に数秒間そのハングアップを回避する必要があります。
解決策はありますか?
または、そのようなデータブロードキャストに別のメカニズムを使用することを検討する必要がありますか?たとえば、ブロードキャストループはデータパケットをある種の FIFO バッファーに入れ、クライアントスレッドは利用可能なデータを継続的にチェックし、それを選択して自分自身に配信しますか? このようにして、1 つのスレッドがハングしても、分散スレッド全体を停止/遅延させることはありません。
アイデアはありますか?お時間をいただきありがとうございます。
よろしく
ジャム
delphi - TIdTCPServer と TIdTCPClient のどちらが pbx イベントに適していますか?
PBX のイベントに登録するために、いくつかの IP PBX システム、Asterisk、Freeswitch、および Yate を試しています。これらのコンポーネントのどれが優れているかを知りたいです。
コンポーネントは、イベントのために PBX に登録し、それらを受信し、いくつかの応答を送信し、いくつかのコマンドを発行することになっています。2つのうちどちらがより適切でしょうか?