問題タブ [asyncsocket]

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.

0 投票する
2 に答える
3039 参照

cocoa - Cocoa AsyncUDPSocket フレームワーク、(長い) タグ変数の説明、および私のデリゲートが時々呼び出されるだけ

私の最初の投稿と私の最初の質問。私は現在、UDP に基づく Artnet プロトコルをいじっています。Artnet データを読み取る Cocoa アプリケーションを開発しようとしています。私はAsyncUDPSocket Cocoa フレームワークを使用することに決め、何とか動作するようになりました。

私の代理人が呼び出されます。別の Artnet アプリケーションでこれを試してみると、デリゲートがコールバックされることはありませんが、パケット アナライザーでパケットを確認できます..

「タグ」が原因であると思われます。この値に関するドキュメントが見つからず、ネット上で答えが見つからないため、誰かが(長い)タグ変数を説明できますか。また、私はココア開発に比較的慣れていないので、非常に基本的なエラーかもしれません..

以下は、ソケットの初期化コードです。

そして、私が現在動作させようとしているコード:

前もって感謝します、

マティアス

0 投票する
1 に答える
348 参照

c# - HTTP 応答の content-length = 0 による非同期レシーバーのループを解消するのに役立ちます

一部の Web サーバーは、HTTP 応答ヘッダーでゼロに設定された content-length を返します。そのような状況ですべてのデータを受信するための決定論的でパフォーマンスの高いソリューションが必要です。

この動作を示すことが知られている URL (以下の追加 URL):

http://www.washingtonpost.com/wp-dyn/content/article/2010/02/12/AR2010021204894.html?hpid=topnews

ヘッダー:

私の現在のソリューションは、MaxTries 定数のためにすべてのデータを取得することが保証されておらず、Thread.Sleep() のために遅いです。

コンテキストでの使用法:

出力例:

編集:

Nikolai は、 Transfer-encoding: チャンクヘッダーを含む応答には特別な処理が必要ですが、その終了は決定論的に検出できることを観察しました。

ただし、チャンクされた応答を除いて、私のキャッチオール メソッドで終わる他の URL がまだあります。例:

http://www.biomedcentral.com/1471-2105/6/197

ヘッダー:

http://slampp.abangadek.com/info/

ヘッダー:

http://video.forbes.com/embedvideo/?format=frame&height=515&width=336&mode=render&networklink=1

ヘッダー:

最初の URL の Transfer-encoding ヘッダーが行ったように、これらの応答で何を探すことができるかを知りたいと思います。これにより、メソッドの呼び出しを回避できるように、応答全体を決定論的に読み取る手がかりが得られます。

0 投票する
1 に答える
963 参照

objective-c - NSThread、AsyncSocket、およびオブジェクトの割り当て解除

AsyncSocket を使用するネットワーク コードがありますが、それを別の実行ループに移動します。次のコードでこのランループを作成しています。

_workerLoop は次のようになります (両方とも同じクラスにあります)。

現在、ドキュメントによると、NSThread はターゲットを保持し、このスレッドは AsyncSocket が切断されたときにのみ終了するため、ソケットが切断されるまでこのオブジェクトを解放して割り当てを解除することは不可能です。

どうすればこれを修正できますか、それとも何か間違っているのでしょうか?

0 投票する
2 に答える
1140 参照

iphone - iPhone AsyncSocket は常にどのポートにも接続しています。

サーバーに接続するためにAsyncSocketを使用しています(またはしようとしています...)が、サーバーが実行されていなくても常に接続しています... SDK 3.1.2を使用しています。以前にこの問題に直面した人はいますか?

結果は常に2010-02-22 22:54:26.922 mluPresenter[2083:207] Connectou! です。ポートを 1 に変更したり、範囲外のポートに変更したりしても...

前もって感謝します。

0 投票する
1 に答える
912 参照

iphone - iphone/mac-AsyncSocketでファイルをダウンロードする方法

いくつかのファイルを含むリモートサーバーがあります。AsyncSocketを使用して、チャンクごとにファイルをダウンロードしたいと思います。ソケットを介して範囲を含むHTTPリクエストを送信し、適切なデータのチャンクを取得したいと思います。ローカルホストでこれを行う方法は理解していますが、リモートサーバーからは理解していません。connectToHostメソッドとacceptOnInterface(以前はacceptOnAddress)メソッドの使用方法が本当にわかりません。

助けてください

ありがとう

0 投票する
1 に答える
1786 参照

visual-c++ - ソケットを使用してmfcで一度にサーバーから複数のクライアントにファイルを送信する方法は?

ある場所から別の場所に、またはコンピューターがネットワーク内にある場合はあるコンピューターから別のコンピューターにファイルを転送するために、サーバー側とクライアント側のアプリケーションで単純なものを作成しています。

http://www.codeproject.com/KB/IP/SocketFileTransfer.aspxのコードを使用しました。動作しており、ファイルは正常に転送されています。

しかし、一度にサーバーから複数のクライアントにファイルを転送する必要があります。つまり、サーバー上では、2 つ以上のクライアントが接続でき、同時にファイルを受信できる必要があります。

そのためのキューを維持する方法と、スレッド化を使用してCSocketオブジェクトをメソッドに渡す方法と、その他の方法がわかりません。

また、CSocket オブジェクトのキューを準備する方法もわかりません。

それで、解決策または別の方法があれば教えてください....

0 投票する
1 に答える
2433 参照

c# - C# Socket.BeginSend AsyncCallback の動作 (タイムアウト?)

これは、よくわからない非同期ソケットのシナリオです...クライアントソケットとサーバーソケットの2つのTcpソケットがあります。サーバーソケットがバインドされ、ポートでリッスンしています。

私のクライアント ソケットはサーバー ソケットに接続します (BeginConnect / EndConnect を使用)。次に、BeginSend() を使用してサーバーにメッセージを送信します。サーバー側では、Receive() や BeginReceive() は行いません。

何が起こるかというと、BeginSend 呼び出しに指定された AsyncCallback が呼び出され、その IAsyncResult が完了したことを通知し、Socket.EndSend() の呼び出しで例外が発生しないということです...

BeginSend 呼び出しが実際にサーバーに何かを送信した場合にのみ、AsyncCallback を呼び出してはならない、または呼び出すべきではないものがありますか (つまり、サーバーがすべてのバイトを受信した後に呼び出されるコールバック)? サーバーで受信が行われなかった場合、sendtimeout の期限が切れた後にコールバックを呼び出すべきではなく、Socket.EndSend への呼び出しで例外が発生しますか?

ありがとう

0 投票する
1 に答える
406 参照

iphone - iPhoneが終了する直前のsendData(lib AsyncSocket)

Macでwifi経由でデータを送信するiPhoneアプリケーションがあります。iPhone アプリを終了するときに、Mac にログアウト メッセージを送信したいと考えています。私はそれを送信しようとしました:

-applicationWillTerminateメソッド

しかし、アプリケーションが以前に私のサービスをシャットダウンしたようです。出口の直前にメッセージを送る方法と場所は?

どうもありがとう !

0 投票する
2 に答える
824 参照

iphone - ソケットから NSData から UIImages をプルする方法

ASyncSocket を使用して、あるデバイスから別のデバイスにいくつかの UIImage を移動しています。

基本的に、私が持っている1つのデバイスで:

そのため、新しい画像が頻繁にソケットに追加されます (Web カメラのように)。

次に、他のデバイスで、次のように呼び出しています。

次のように応答します。

基本的に、私ができるようにしたいのは、@selector(PullImages) を呼び出す NSTimer を実行することです。

ここでは、ResponseData から画像を取得できるようにしたいと考えています。それ、どうやったら出来るの?まだ完全なイメージではないかもしれませんし、複数のイメージがあるかもしれませんし、1 つ半のイメージがあるかもしれません!

NSData を既存の各イメージに解析したい!

何か援助はありますか?前もって感謝します!

0 投票する
1 に答える
1072 参照

c# - .NET 3.5非同期System.Net.Sockets.Socketでデータフローを停止するのは何ですか?

非同期メソッドを使用する.NET3.5クライアント/サーバーソケットインターフェイスがあります。クライアントはサーバーに接続し、アプリが終了するまで接続は開いたままにする必要があります。プロトコルは次のパターンで構成されています。

  1. stxを送信します
  2. ackを受け取る
  3. データを送信1
  4. ackを受け取る
  5. data2を送信します(さらにデータを追加しながら5〜6を繰り返します)
  6. ackを受け取る
  7. etxを送信

したがって、上記のように2つのデータブロックを持つ単一のトランザクションは、クライアントからの4つの送信で構成されます。etxを送信した後、クライアントはさらにデータが送信されるのを待ってから、stxで次の送信を開始します。個々の交換間または各stx/data/etxペイロードの後で接続を切断したくありません。

現在、接続後、クライアントは最初のstxを送信し、単一のackを取得できますが、それ以降はデータをネットワークに追加できません。どちらの側も切断せず、ソケットはそのままです。クライアントコードは次のように真剣に省略されています-私はオンラインコードサンプルで一般的に利用可能なパターンに従っています。

サーバー上のコードは、最初に受信してから応答を送信することを除いて、非常に似ています。サーバーは、応答を送信した後、接続を変更するために何もしていません(私が知ることができます)。問題は、クライアントで2回目にSendReceiveを押すと、接続がすでに奇妙な状態になっていることです。

SocketAsyncEventArgsを保持し、ソケット/接続の存続期間中同じオブジェクトを再利用するために、クライアントで何かを行う必要がありますか?接続または特定の交換の存続期間中に、どのeventargsオブジェクトを使用する必要があるかわかりません。

サーバーがデータを受信し続けることを保証するために、サーバーで何かをする必要がありますか、それとも何もしませんか?

サーバーのセットアップと応答の処理は次のようになります。

.NETトレースは、ABCを送信するときに次のことを示しています\ r \n:

そしてそれはそこで止まります。クライアントからの最初の送信と同じように見えますが、サーバーはアクティビティを表示しません。

今のところ情報過多の可能性があると思いますが、必要に応じて詳細をお知らせします。

ありがとう!