問題タブ [cocoaasyncsocket]
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-CocoaAsyncSocket: クライアント CocoaAsyncSocket から画像データが送信されない
CocoaAsyncSocket-masterソースの GCD コードを使用しています。サーバー バージョン アプリケーションを実行するために「EchoServer」を使用し、iOS デバイスで実行するために「SimpleHTTPClient」クライアント アプリケーションを使用しています。提供されたサンプルを使用して、デスクトップ サーバー アプリと iOS クライアント アプリを実行し、問題なく接続できました。
既存のクライアント プロジェクトで送信している http ヘッダーの代わりに、 UIImage データをサーバー アプリに送信しようとしています。そのため、クライアント側で以下のコードに従ってUIImage データを送信しています。ただし、問題は、この画像データをサーバー フロント エンド アプリに適切に送信していないことです。
コード: https://github.com/robbiehanson/CocoaAsyncSocket
CocoaAsyncSocket が提供する同じプロジェクト「CocoaAsyncSocket-master/GCD/Xcode/SimpleHTTPClient」を使用し、サンプル画像を送信するために以下のコードを変更しただけです。
送信用の SimpleHTTPClient クライアント コード:
受信時のサーバーコード...
問題:
SimpleHTTPClient と EchoServer を使用して、次の 2 つの問題に直面しています。2.) 大きなサイズの画像を転送し、画像の一部を受信してロードすると、サーバー フロント エンドのログ ビューで「受信したデータを UTF-8 文字列に変換中にエラーが発生しました」というエラーがすぐにスローされます。参照画像を見つけてください。
ios - ロード時の待機アラート ビューの表示
アプリの起動時にアラート ビューを約 5 秒間表示した後、バックグラウンド プロセスの結果に応じて、別のアラート ビューが表示されるようにしたいと考えています。
私が経験している問題は、スリープを使用してバックグラウンド プロセスが発生するのを待機しようとしたときです。最初のアラートは表示されず、5 秒間待機します。アプリにアプリの最初のビューが表示され、5 秒後に最初のアラートが短時間表示されます。
私が望むことを実行するために何をする必要がありますか。
これが私のコードです。
ios - CocoaAsyncSocket 用の sockaddr_in の作成 無効な IPv4 アドレスの取得
Java ソケット サーバーに接続できません。Java ソケット経由で接続しているため、サーバーが動作していることはわかっています。CocoaAsyncSocket ライブラリを使用して、iOS デバイスからクライアント接続を確立しています。私は次のことを試しました、
メソッドですが、サーバーはクライアントの接続を認識せず、クライアント (CocoaAsyncSocket) は接続されていると認識します。それではダメだということで、別の接続方法があることに気が付きました。
したがって、代わりに connectToAddress メソッドを使用する必要があると考えています。この投稿を現在のコードのリファレンスとして使用しましたが、まだエラーが発生し、その理由がわかりません。私のバージョンと推奨バージョンとの唯一の違いは、sa_len を使用する長さです。エラーが発生し、xCode がそれを sin_len に切り替えたかったので、そうしました。私は直接ソケット接続に本当に慣れていないので、ご容赦ください。
接続に失敗し、エラーは次のとおりです。
ios - 2つのUIViewControllerに通知するiOS AsyncSocket
TCP 接続に AsyncSocket を使用しています。
私は 1 つの TCP ソケットを持っていますが、2 つの UIViewController がこのソケットを使用しています。
私が知っているように、AsyncSocket を初期化する間、デリゲートは 1 つしかありません。
これら 2 つの UIViewController は両方とも、AsyncSocket からのコールバックを処理する必要があります。
これを達成するための良いアイデアはありますか?
どんなアイデアでも大歓迎です!
ios - iOS でマルチスレッドを行う方法は?
この質問のあいまいなタイトルで申し訳ありません。私が抱えている問題を説明するための簡潔な文が思いつきませんでした。
基本的に、複数のスレッドを開始し、そのコンテキスト内で使用できるスレッド固有の値を持つオブジェクトを渡したいと考えています。これがそれを行うコードです
thread_bytes
各スレッドは、正しいおよびを使用してセレクター メソッドを呼び出し、ソケットにthread_offset
アクセスすることもできGCDAsyncSocket
ます。その結果、thread_bytes
およびを使用する多数のデリゲート メソッド呼び出しが発生しますthread_offset
。これがセレクターメソッドです。
処理中の N 個のスレッドがある場合、リクエスト メッセージを送信すると_thread_offset
、たとえばオフセットが 0、2、4、8 の場合、1 つのスレッドが 0、他のすべてのスレッドが 8 と表示されますそのコンテキスト内の一意のオフセット。
また、スレッドが終了したときのコールバック メソッドはありますか?
ios - iOSアプリでcocoaasyncsocketを介してスレッドリッスンサーバーを作成する方法
cocoaasyncsocket
iOSアプリでサーバーをリッスンするスレッドを作成する方法
私はcocoaasyncSocket
ここから使用しています: cocoaAsyncSocket
サンプルコードを試してこのコードをプッシュしますAppDelegate.h
がAppDelegate.m
、接続すると、このアプリはサーバーから送信されたデータを受信しません。接続後にアプリがサーバーからデータを自動受信するようにしたい
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 - CocoaAsyncSocket はバッファ サイズを設定します
Silverlight クライアントおよび iOS クライアント (CocoaAsyncSocket を使用) と通信する VB.NET サーバーを作成しました。JSON データと、base64 文字列としてエンコードされた PDF ドキュメントを送受信しています。クライアント側でエンコードされた pdf ドキュメントを受信するとパフォーマンスの問題が発生しますが、Silverlight クライアントで ReceiveBufferSize を調整し、サーバーで SendBufferSize を設定することで簡単に修正できました (どちらも現在 65536 に設定されています)。しかし、iOS クライアントでは、バッファ サイズを設定する場所が見つかりません。Silverlight では 6MB 程度のドキュメントを受信するのに 3 ~ 4 秒、iOS では 25 ~ 30 秒かかります。