問題タブ [gcdasyncsocket]
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.
ios - iOS: GCDAsyncSocket とそのタグ
私のアプリでは GCDAsyncSocket を使用しており、次のように読み書きします。
デリゲート メソッドでデータを読み込んだ後:
このデリゲート メソッド内で "readDataWithTimeout" を思い出すので、この方法ですべてのデータを読み取ります。
私が行う場合、新しい呼び出しを行うときの問題ID:
tag = 2 で新しい書き込みと新しい読み取りを開始します。デリゲート メソッド「didReadData」が呼び出されると、私のコードは tag = 1; のブロック内に入ります。新しいタグを認識していないようです。
なぜそれが起こるのですか?
ios - ローカルネットワーク上のすべてのサーバーを見つける方法は?
iPad のサーバー クライアント アプリケーションに CocoaAsyncSocket を使用しています。現在、サーバーが稼働している場合、クライアントはサーバーの IP を入力して接続できます。このアプリを実行しているローカル ネットワーク上のすべてのサーバーを表示する方法はありますか?
ありがとう!
ios - CocoaAsyncSocket / GCDAsyncSocket: SSL/TLS セッションを閉じる (暗号化されていない TCP 接続に戻る) / 2 番目の SSL セッションを確立する / セッションを再ネゴシエートする
SSL 経由でサーバーに接続する際に問題があります。特別なコマンドを実行するとすぐに、通信しているサーバー上のサービスが切り替わり、SSL セッションが失われ、新しい SSL ハンドシェイクを行う必要があります。
どうすればGCDAsyncSocketでこれを行うことができますか? 呼び出した後[socket startTLS:...]
、SSL セッション (のようなもの) を閉じて[socket stopTLS]
から再度開くか、SSL セッションを再ネゴシエートする可能性はありません。また、TCP ソケットを切断して再接続したり、2 番目のソケットを使用して接続したりすることもできません。これは、最初にサーバーに接続したときに取得したエントリ ポイント サービスから再開するためです。
あなたが私に提供できるアイデアに感謝します!
前もって感謝します。
- 編集 -
新しい TCP ソケットを開かずに 2 番目の SSL セッションを確立する方法がまだわかりませんでした。SSLセッションを手動で再ネゴシエートする方法も見つかりませんでした...
何か案は?前もって感謝します!
ios - GCDAsyncSocket 複数の接続?
私はすでに GCDAsyncSocket を使用して 2 つのデバイスを接続しています。1 つは自分自身をブロードキャストして接続を受け入れ、もう 1 つはリッスンして接続を要求します。まだブロードキャストしているホストに別のデバイスを接続しようとすると、最初のデバイスがまだ接続されている間に接続が終了します。
複数の接続を受け入れるようにコードを再構築するにはどうすればよいですか? 私は何が欠けていますか?助けてください、私はこれを理解しようと一生懸命努力しています! これが私のコードです:
cocoa - GCDAsyncSocket を使用した (保護が弱い) 安全なサーバー
GCDAsyncSocket を使用して、保護が弱いサーバー (つまり、anon 暗号を使用して接続できるもの) を作成しようとしています。私が現在行っていることは次のとおりです。
ポートにバインドしてリッスンを開始する
/li>次に、指定したポートに接続が到着すると、
/li>- (void)socket:(GCDAsyncSocket *)sender didAcceptNewSocket:(GCDAsyncSocket *)newSocket
コールバックで受信します。ここでは、SSL/TLS 設定で辞書を作成します。を呼び出して設定を適用した後
startTLS
、 がnewSocket
切断され- (void)socketDidDisconnect:(GCDAsyncSocket *)sock withError:(NSError *)error
、 が呼び出されます。エラー コードは 9800 (errSSLProtocol) です。
質問: 私が間違っている/していないことは何ですか?
私の推測では、私が指定していない証明書と関係があると思います。しかし、匿名暗号を行っている場合、証明書を指定する必要がありますか?