問題タブ [cfstream]
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.
tcp - NSStreamは、毎回閉じられたときにデリゲートを呼び出しません
サーバーへのNSStream(インおよびアウトTLS)がいくつかあり、それらを介してデータを正常に送受信できますが、しばらくすると、トラフィックがない状態で5分後、接続がそれ自体で閉じられているように見えますが、代理人はNSStreamEventEndOccuredで呼び出されず、何かを送信しようとした後にのみNSStreamEventErrorOccurredを取得します。
そもそも、接続はそれ自体で閉じるべきではありません。
-アプリはまだアクティブです
-デバイスがロックされていません
-使用しているwifiは切断されません
-リモートサーバーのtcpライフタイムは長く、SO_KEEPALIVEフラグがアクティブであり、iPhone側もネイティブソケットハンドルでSO_KEEPALIVEがアクティブです。
それでも、接続が閉じられるよりも、デリゲートが呼び出されない理由について心配しています。
何か案は?
ありがとう
iphone - NSStream を直接使用する利点はありますか (CFNetwork、BSD ソケットなどとは対照的に)。
TCP 接続を行うさまざまな方法 (CFNetwork、BSD ソケットなど) には精通していますが、最近、NSStream には、NSStream を使用した TCP 接続のみを許可する "XXXwithURL:" API があることを発見しました。この方法で接続を作成する利点はありますか?
また、NSStream と CFStream の間の接続は何ですか? それらは無料でブリッジされているように見えますが、それは NSStream が CFStream の上に構築されているということですか?
objective-c - SOCKS プロキシ構成の設定後に CFStream がクラッシュする
以下のコードの何が問題になっていますか? onSocketWillConnect
AsyncSocket を使用して SOCKS プロキシに接続し、デリゲート メソッドでプロキシ設定を設定します。との呼び出しを省略するCFReadStreamSetProperty
とCFWriteStreamSetProperty
、ソケット接続はスムーズに行われます。それ以外の場合、追跡可能なスタック トレースのない割り当て解除されたインスタンスで [Not A Type preserve] を取得します (CFNetwork に関連している可能性があります)。誰が何を与えるか知っていますか?
iphone - iOS で FTP サーバー上のファイルにデータを追加する
Apple の SimpleFTPSample プロジェクトから基本を学んだ後、FTP サーバーの .txt ファイルの末尾に文字列を追加しようとしています。カスタム文字列で既存のファイルを上書きすることに成功しましたが、ファイルを上書きするか追加するかを定義するkCFStreamPropertyAppendToFileプロパティが iOS で使用できないと思われます。
iOSでこれを行うための推奨される方法は何ですか?
ios - MonoTouchおよびCFStreamAPIに関する問題
私は現在、ソケット接続を介してMQTTサーバーと通信する必要があるアプリケーションを開発しています。System.Net.Sockets APIは、WiFiネットワークから3Gネットワークに切り替えるときに誤動作する傾向があるため(これは実際には非常に多く発生します)、CFStreamAPIを試してみることにしました。そうすることで、私は次のようないくつかの問題に遭遇しました。
ストリームのペアを作成すると、CreatePairWithSocketToHost
いずれかのストリームでOpen()を呼び出すとすぐに、アプリケーションがクラッシュします。
電話をかけるかどうかに関係なく、クラッシュが発生しますEnableEvents()
。例外は次のとおりです。
CreatePairWithSocket
最初にを作成して接続するCFSocket
ことでストリームのペアを作成するとOpen()
、クラッシュすることなく続行できますが、CanAcceptBytesEvent
起動されることはなく、CanAcceptBytes()
常にfalseであり、書き込みの試行はタイムアウトで失敗します。
を使用してストリームのペアを作成することCreatePairWithPeerSocketSignature
は、私が操作できるストリームのペアを実際に生成する唯一のものです。開くことはクラッシュせず、それぞれへの書き込みと読み取りが許可されます。
APIは、シミュレーターと実際のデバイスの両方でこのように動作します。それで、これは私が間違っていることですか?それはMonoTouchの問題ですか?CFStream API自体のバグですか?
MonoTouchバージョン:6.0.1。XCodeバージョン:4.5。
objective-c - 2 つの異なるスレッドで 2 つの NSStream を実行する
私のアプリは、別のスレッドでネットワーク タスクを実行します。サーバーからデータを取得し、処理して、継続的に結果を表示します。これは、1 つのスレッドにそのようなネットワーク接続が 1 つしかない場合にうまく機能します。ただし、同様のネットワーク タスクで 2 番目のスレッドを実行すると、2 番目のスレッドは正常に動作しますが、最初のスレッドは応答を停止します。ネットワーク プロセスをスケジュールするクラスのコードは次のとおりです。ここで何がうまくいかないのかについて何か考えはありますか?
objective-c - NSOutputStreamを使用したiOSのFTPS
SSLを介してFTPでファイルをアップロードしようとしています。私のコードは通常の接続で動作しますが、SSLで使用すると、次のメソッドでエラーがスローされます。エラーはNSStreamEventErrorOccurredです。
私はこのウェブサイトのiphone-ftps-clientでsoultionをチェックしていました。しかし、答えは、FTPSはiOSに組み込まれたサポートではなく[独自のライブラリを作成する必要があります]、他のポイントはFTPのみです。
FTPサーバー[.crt]に証明書がありますが、これは初心者なので、clientSide[iOS]でのこの証明書の使用法を理解できません。
誰かがFTPSで私を助けてくれませんか、大きな助けになるでしょう。
ios - kCFFTPResourceType を数値と比較する
私はFTPダウンロードシステム、リスト機能を書いています:
サーバー上に自分のファイルが表示されます:
次にやりたいことは次のとおりです。
*私の問題は比較が間違っていることです。どうすれば動作するように書くことができますか?