問題タブ [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 投票する
1 に答える
447 参照

iphone - iPad プロジェクトに asyncsocket を含める

使用を開始できるように、asyncsocket を iPad プロジェクトにロードするのにかなりの時間を費やしています。これまでのところ、AsyncSocket.h および .m クラスを追加し、CFNetwork.framework をロードして、すべてのパスが揃っていることを確認しましたが、ビルドしようとすると 6522 エラーが発生します。

最初のエラーは Block.h: no such file or directory です。

助言がありますか?

ありがとう、マット

0 投票する
4 に答える
1703 参照

c# - C#非同期ソケット接続を介したシリアル化されたオブジェクトを含むオブジェクトのサイズの送信

オブジェクトをシリアル化してネットワーク経由で送信したい。クラスのISerializeable属性とBinaryFormatterを使用して、オブジェクトをバイトに変換するように設定しました。オブジェクトを送信し、受信側で逆シリアル化できます。ただし、オブジェクトを再構築する前にオブジェクト全体を確実に保持するために、ストリームと一緒にサイズを送信したいと思います。最初の数バイトをサイズとして設定し、受信したデータが少なくともこの固定サイズであるかどうかを確認すると、それを読み取ってオブジェクトのフルサイズを取得できます。次に、受信したデータがオブジェクトのサイズ+固定サイズのバイトになるまで待つだけです。オブジェクトのサイズを最初の数バイトとして格納し、オブジェクトを残りのバイトとして格納するintを送信できるように、ストリーム内のデータをオフセットするにはどうすればよいですか?

0 投票する
5 に答える
17455 参照

c# - C#UDPソケット:受信者アドレスを取得します

IPAddress.Anyにソケットがバインドされた非同期UDPサーバークラスがあり、受信したパケットがどのIPアドレスに送信されたか(...または受信されたか)を知りたいです。Socket.LocalEndPointプロパティは常に0.0.0.0を返すため、これを使用することはできないようです(これは、それにバインドされているので意味があります...)。

これが私が現在使用しているコードの興味深い部分です:

前述のように、これは常に次のような行を出力します。

127.0.0.1:1678から0.0.0.0:12345まで32バイトを受信しました

そして、私はそれが次のようなものになりたいです:

127.0.0.1:1678から127.0.0.1:12345まで32バイトを受信しました

事前に、これに関するアイデアをありがとう! - アダム

アップデート

さて、私はそれが好きではありませんが、解決策を見つけました...基本的に、IPAddress.Anyにバインドされた単一のudpソケットを開く代わりに、使用可能なすべてのIPAddressに対して一意のソケットを作成します。したがって、新しいスターター関数は次のようになります。

これは概念を説明するためのものであり、このコードの最大の問題は、各ソケットが同じバッファーを使用しようとしていることです...これは一般的に悪い考えです...

これにはもっと良い解決策がなければなりません。つまり、送信元と宛先はUDPパケットヘッダーの一部です。まあ、もっと良いものができるまでこれで行くと思います。

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

c# - C#: Socket.ReceiveAsync と部分受信

非同期ソケット、具体的には Socket.ReceiveAsync を使用する場合、「部分的な」受信を行うことは可能ですか? たとえば、SocketAsyncEventArgs オブジェクトで 1024 バイトを想定し、その一部のみを受信できるように指定したいと思います。たとえば、512 バイトです。したがって、1024 バイトすべてが使用可能になるのを待つ代わりに、それらの 512 バイトでコールバックしたいと考えています。

これは非同期ソケットで可能ですか? または、非ブロッキング同期モードに頼る必要がありますか?

前もって感謝します。

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

flush - AsyncSocket writeData ターミネータ

Java ミドルウェア クライアントを objC に移植しています。Java クライアントは、送信の最後に Java の stream.write と stream.flush を使用します。Java クライアントが Echo サーバーに送信するには、stream.writeBytes("\r\n"); を追加する必要があります。その後に、サーバーがメッセージを返送するための stream.flush が続きます。

ミドルウェアのサーバーにメッセージを送信するために asyncsocket を使用していますが、ソケットを正常に開いた後、ミドルウェアは asyncsocket を使用して送信されたメッセージに反応しません。

また、ミドルウェアは、ソケットが閉じているときにバッファ内のメッセージに反応しません。

私は現在使用しています

ソケットをフラッシュする

0 投票する
4 に答える
11218 参照

iphone - AsyncUdpSocket 受信の使い方

シミュレーターでiPhone用のプログラムを実行しようとしています。私の問題は、UDP データの受信にあります。私はasyncUdpSocketを使用しています。ソケットを作成して使用するsendData:(NSData) toHost:と、...うまく機能します。

私が理解できないと思うのは、受信機能がどのように機能するかです。

私は次のようなものを想定しています:

次に、メソッドを呼び出す必要があると思います-(BOOL)onUdpSocket:(AsyncUdpSocket *)sock didReceiveData:(NSData *)data withTag:(long) fromHost:(NSString *)host port:(UInt16)port

私はそのメソッドに NSLog を入れましたが、決して呼び出されません。[socket receive,..] が唯一の受信方法なので、それが必要だと思います... または、使用する必要がある別の方法はありますか? それとも、デリゲートなどにいくつか追加する必要がありますか...どうすればいいのかわかりません

asyncUdpSocket の例、チュートリアル、ハウツーなどを検索しましたが、例が見つかりません。したがって、誰かがそれを説明したい場合、または適切な説明を知っている場合は、非常に高く評価されます.

答えがわからない場合でも、読んでくれてありがとう!

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

iphone - 接続を受信して​​いるiPhoneでCocoaASyncSocketをリッスンしているが、新しいソケットがデリゲートを呼び出さない

IPを指定して、2つのデバイス間で基本的なメッセージペーシングを実装しようとしています。1つのデバイスがリスニングソケットに次のようにリッスンするように指示した場合:

デリゲートは正しく呼び出され、didAcceptNewSocket接続しているIP:Portに新しいソケットを返す必要があります。ただし、これを実行していることがわかる限り、新しいソケットはを呼び出す必要がありますがdidConnectToHost、私が知る限り、そうではありません。

didConnectToHost接続が確立された後、ソケットとの接続を開始するデバイスが適切に呼び出すため、は正しく実装されます。

私はいくつかのことをdidAcceptNewSocket除いて何もしておらずNSLogs、古いリスニングソケットを新しいものに設定しています(後で必要ではなく、前に別の変数に割り当てても何も変更されませんでした)。

リスニング側の新しいソケットがこのデリゲートを呼び出さないようにするにはどうすればよいですか?

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

sockets - クラウド上のシンプルなソケットベースのサーバー

特定のポートで着信接続をリッスンするアプリケーションを作成しています。クライアントは車にインストールされたGPS追跡デバイスであり、サーバーは現在、非同期ソケットを使用して.NETに実装されています。すべて正常に動作しますが、いつでも失敗する可能性のあるハードウェアの世話をする手間を省くために、サーバーをAzureなどのクラウドサービスに移動することを考えています。

私の質問は、クラウドサーバーが私のコードが特定のポートでリッスンする固定IPアドレスを提供できるかどうかです。サーバーはほとんど処理を行わないため(一部のNMEAセンテンス解析)、クラウドでのホスティングのコストは高くないと思います。ヒントは大歓迎です。

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

iphone - AsyncSocket と通知 - メモリ リーク

次のシナリオでメモリ リークが発生しました。30 秒ごとにデータを読み取り、SBJSONParser を使用してそれを辞書に変換し、通知を追加してから、データを使用してテーブルビューにバインドします。

CustomViewController には、オブザーバーがあります。

および bindData メソッド:

問題は、その辞書から company.name = something を設定すると、次の行でメモリ リークが発生することです。30秒ごとに読んでいるので、増え続けています。

私はあなたが与えることができる任意の助けに感謝します. ありがとう。

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

iphone - Iphone SDK で AsyncUdpSocket を使用して UPD パッケージを受信する際の問題

iPhone でソケット処理をテストするための小さなアプリがあり、AsyncSocket/AsyncUdpSocket lib を使用しています。

ソケットを開いて送信するのは問題ありませんが、受信は問題です。

私が言ったように、私は何も取得しませんが、問題は、upd パッケージが完了したときにのみメソッドが呼び出されるかどうかです。パッケージはどのように終了する必要がありますか? ゼロバイト?

ありがとう