問題タブ [sockets]
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.
c# - ソケットを既存の IP/ポートの組み合わせに再バインドできません
こんにちは、特定の IP/ポートの組み合わせからソケットを「バインド解除」する方法を見つけようとしています。私の疑似コードは次のようになります。
この時点で、.Net は、127.0.0.1:4567 にバインドされたソケットを既に取得していることを通知します。これは技術的には正しいです。しかし、ClassA のデストラクタにどんなコードを入れても、ソケットでどんな関数を呼び出しても (.Close() と .Disconnect(true) を試しました)、ソケットは誇らしげに 127.0.0.1:4567 にバインドされたままです。ソケットを「バインド解除」できるようにするにはどうすればよいですか?
編集:私はガベージコレクションだけに依存しているわけではありません(そのアプローチも試しましたが)。a.Close() または a.Disconnect() を呼び出してから、aa; をインスタンス化しようとしました。これは問題を解決しません。
編集: IDisposable の実装も試みましたが、メソッドを呼び出さずにコードを取得することはできませんでした (メソッドは単純に .Close と .Disconnect を試行するため、以前の試行と同等でした)。.Dispose に直接電話して、折り返しご連絡いたします。
編集 (多くの編集、謝罪): IDisposable を実装し、「a」がスコープを失う場所から a.Dispose() を呼び出すことは機能しません - 私の Dispose 実装は、まだ .Close または .Disconnect(true) (または .Shutdown のいずれかを呼び出す必要があります) (両方))しかし、ソケットのバインドを解除するものはありません。
どんな助けでも大歓迎です!
java - マルチホームマシンでJavaでUDPパケットをどのように送受信しますか?
2 つのネットワーク インターフェイスを追加した VmWare がインストールされたマシンがあります。OSはビスタです。私は 2 つの Java アプリケーションを持っています。1 つはデータグラムをブロードキャストし、もう 1 つはそれらのデータグラムを受信します。私が抱えている問題は、両方の VmWare ネットワーク インターフェイスを無効にしない限り、受信側がデータグラムを受信できないことです。
インターフェイスを無効にせずにそれを機能させる最良の方法は何ですか?
c - ソケットはCでどのように機能しますか?
Cでのソケットプログラミングについて少し混乱しています。
ソケットを作成し、それをインターフェースとIPアドレスにバインドして、リッスンさせます。その上でいくつかのWebリソースを見つけ、それをうまく理解しました。特に、 Unixシステムでのネットワークプログラミングの記事は非常に有益であることがわかりました。
私を混乱させるのは、データがソケットに到着するタイミングです。
パケットがいつ到着するか、パケットの大きさをどのように知ることができますか?あなたは自分ですべての重労働をしなければなりませんか?
ここでの私の基本的な仮定は、パケットは可変長である可能性があるということです。したがって、バイナリデータがソケットに表示され始めたら、それからどのようにパケットを構築し始めますか?
python - Pythonでソケットの外部IPを取得するにはどうすればよいですか?
socket.getsockname()
ソケット オブジェクトを呼び出すと、マシンの内部 IP とポートのタプルが返されます。ただし、外部 IP を取得したいと考えています。これを行うための最も安価で効率的な方法は何ですか?
ruby - gets() で Ruby の壊れた TCP ソケットから回復する
次のような TCP ソケットで入力行を読み込んでいます。
getline() の実行中にエンドポイントが接続を終了すると、gets() がハングします。
どうすればこれを回避できますか? ノンブロッキングまたは時限 I/O を行う必要がありますか?
java - java.net.SocketException: 接続のリセット
ソケットから読み取ろうとすると、次のエラーが発生します。私はそれをやっていreadInt()
ますInputStream
が、このエラーが発生しています。ドキュメントを熟読すると、これは、接続のクライアント部分が接続を閉じたことを示唆しています。このシナリオでは、私がサーバーです。
クライアントのログ ファイルにアクセスできますが、接続を閉じていません。実際、そのログ ファイルは、接続を閉じていることを示しています。なぜこれが起こっているのか誰にも分かりますか?他に何を確認しますか?これは、おそらくしきい値に達しているローカル リソースがある場合に発生しますか?
次の行があることに注意してください。
の直前readInt()
。これには理由があります (長い話) が、興味深いことに、これが示されたエラーにつながる可能性がある状況はありますか? IDE でサーバーを実行していて、たまたま IDE がブレークポイントで動かなくなったままになり、IDE の自分のログにまったく同じエラーが表示され始めたことに気付きました。
とにかく、それについて言及するだけで、うまくいけば赤いニシンではありません. :-(
actionscript-3 - AS3 FTP プログラミングと Socket および ByteArray クラス
件名がさらにオタクなハリー・ポッターのタイトルのように聞こえて申し訳ありません。
AS3 の Socket クラスを使用して、簡単な FTP プログラムを作成し、Flex Builder 3 で AIR アプリとしてエクスポートしようとしています。ローカル ネットワーク上の FTP サーバーを使用してプログラムをテストしています。サーバーに正常に接続できますが (簡単な部分)、コマンドを送信できません。これらのコマンドを送信するには ByteArray クラスを使用する必要があると確信していますが、明らかに欠けている重要な情報がいくつかあります。誰もこれを行う方法を知っていますか? ありがとう!デイブ
sockets - root権限を必要とせずにtracerouteのようなプログラムを実行するにはどうすればよいですか?
別のプログラムがその中にtraceroute機能を提供しているのを見ましたが、root(スーパーユーザー)特権は必要ありませんか?私は常にrawソケットがrootである必要があると思っていましたが、他の方法はありますか?(誰かが「スーパートレース」または「トレースパス」について言及したと思いますか?)ありがとう!
c++ - C++ で RAW TCP/IP パケットを作成するにはどうすればよいですか?
私は初心者の C++ プログラマー/ネットワーク管理者ですが、誰かが私を正しい方向に向ければ、これを行う方法を学ぶことができると思います。ほとんどのチュートリアルは、何らかの理由で機能しなくなった古いコードを使用して示されています。
私は Linux を使っているので、生の Berkeley ソケットの書き方を説明するだけで十分です。誰かが私に簡単な概要を教えてもらえますか?
java - サーブレットからの合計ネットワーク転送時間の測定
クライアントがリクエストを待機する時間を測定するにはどうすればよいですか。
サーバー側では、フィルターなどを介して簡単に実行できます。しかし、レイテンシーやデータ転送を含めた合計時間を考慮に入れたい場合、それは難しくなります。
基になるソケットにアクセスして、リクエストがいつ終了したかを確認することはできますか? または、いくつかのJavaScriptトリックを行う必要がありますか? おそらくブラウザとサーバー間のクロック同期によるものでしょうか?このタスク用に事前に作成された JavaScript はありますか?