問題タブ [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++ - z/OS 上の C++ で C ソケット API を使用する方法
z/OS 上の C++ で C ソケット API を正しく動作させるのに問題があります。
を含めていますが、まだ定義されていないsys/socket.h
ことを示すコンパイル時エラーが発生します。AF_INET
明らかな何かが欠けているのでしょうか、それとも z/OS 上にあることが問題をより複雑にしているという事実に関係していますか?
#ifdef
私が打っているがあることを発見しました。どうやら、使用しているソケットの「タイプ」を定義しない限り、z/OS は満足していないようです。
個人的には、これ_OE_SOCKETS
が実際に何のためにあるのかわからないので、z/OS ソケット プログラマーがそこにいる場合 (3 人全員)、これがどのように機能するかの概要を教えていただけますか?
アプリのテスト
コンパイル/リンク出力:
sys/sockets.h のチェックには必要な定義が含まれており、私が知る限り、どの#ifdef
ステートメントによってもブロックされていません。
ただし、次のものが含まれていることに気付きました。
基本的にファイル全体をカプセル化するのはどれですか? それが重要かどうかはわかりません。
c# - 同じオープンソケットを介した非同期多方向サーバークライアント通信?
クライアントがWindowsMobile6デバイス上にあり、C ++で記述されており、サーバーが完全なWindows上にあり、C#で記述されているクライアントサーバーアプリがあります。
もともと、私はクライアントからサーバーにメッセージを送信するためだけにそれを必要としていましたが、サーバーはメッセージを受信したという確認応答を返すだけでした。ここで、サーバーが実際にクライアントにメッセージを送信してデータを要求できるように更新したいと思います。現在、クライアントがサーバーにデータを送信した後にのみ受信モードになるように設定しているため、サーバーがいつでも要求を送信することはできません。クライアントデータを待たなければなりません。私の最初の考えは、サーバーがクライアントに関してすでに持っているのと同じように、サーバー要求をリッスンして、別の開いたソケットを使用してクライアント上に別のスレッドを作成することです。同じスレッド内で同じソケットを使用して、すべてのサーバーにいつでもリクエストを送信する方法はありますか?
何かを使用しWaitForMultipleObjects()
て、受信バッファーと、送信するデータがあることを通知するイベントを渡すことができますか?
ruby - Rubyで逆DNS?
適切にインベントリされていないコンピュータが多数ある環境にいます。基本的に、どの IP がどの MAC アドレスとどのホスト名に対応するかは誰にもわかりません。だから私は次のように書いた:
逆引き DNS が見つからないことを除いて、すべてが機能します。
私が得ているサンプル出力はこれです:
そうすればnslookup 10.26.6.12
、正しい逆引き DNS を取得できるので、マシンが DNS サーバーを認識していることがわかります。
を試しましたがSocket.gethostbyname
、うまくいきgethostbyaddr
ません。
どんなガイダンスでも大歓迎です。
flash - ActionScript 3.0 ソケットが再接続できない
接続タイムアウト後に (Socket および XMLSocket クラスを介して) TCP リスナーに接続できません。
サーバーへの TCP 接続を維持する必要があるフラッシュ アプレットがあります。タイマーやピンポン システムなどを使用してタイムアウトを実装しました。ただし、問題があります。Socket.connect() を呼び出すと、フラッシュ プレーヤー (9.0.115 およびそれ以前の他の多くの安定版) は、SYN パケットを介して 3 つの接続要求を送信します。これらのいずれにも応答がない場合 (サーバーがダウンしているなどの理由で)、アプレットをサーバーに接続 [試行] することはできません。これまで。つまり、アプレットの存続期間内です。
明確化および/または要約するには:
Socket.connect() または XMLSocket.connect() に指定されたホスト/ポートのペアについて、呼び出しが失敗した場合、Flash アプレットの存続期間内の他の Socket (または XMLSocket) インスタンスへの後続の connect() 呼び出しは同じホスト/ポートのペアは無視されます。(少なくとも、パケット スニファを使用してわかる限りでは。)
私は多数の Socket メソッドを呼び出し、破棄¹ してオブジェクトを再作成し、ソケットのプールを使用して、今は思い出せない他のさまざまなメソッドを試しました。すべて役に立たない。
私の現在の解決策は、JavaScript 呼び出しを介して親 Web ページに通知し、アプレットをリロードさせることです。Flash がソケット接続を適切に処理できないという理由だけで、それが引き起こす問題の回避策を実装するつもりはありません。
非常に単純なものが欠けているに違いありません。
何か案は?
1: オブジェクトを実際に破壊できないことはわかっています。それらへの参照をすべて削除し、最善を尽くします。この場合、GC を明示的に呼び出そうとはしていません。(ただし、Socket を Array 内に配置してdeleteを使用しようとしたと思います。)
はい、接続が成功した場合は期待どおりに動作します (後で接続が切断された場合でも)。
これをトリガーする唯一のイベントは、サーバーがまったく応答しない場合です。あたかも Flash がホストとポートの組み合わせを「オフライン」としてマークし、アプレットの存続期間中はそれ以上パケットを送信しないかのようです。
接続の積極的な拒否 (たとえば、ホストはオンラインであるが、ポートをリッスンしていない) が原因ではないのではないかと思います。
Socket からエラー メッセージやその他の種類のフィードバックは得られません。
最初のペアが失敗したときに、同じホスト/ポートのペアに対して connect() を複数回呼び出したことがありますか? 最初の connect() が失敗したことをどうやって知りましたか? 後続の connect() 呼び出しの前に、ソケットをリセットするために何かしましたか?
java - Java でルーター/ゲートウェイの IP を特定するにはどうすればよいですか?
Java でルーター/ゲートウェイの IP を特定するにはどうすればよいですか? IP は簡単に取得できます。Web サイトのサービスを使用してインターネット IP を取得できます。しかし、ゲートウェイの IP を特定するにはどうすればよいでしょうか?
方法を知っていれば、これは .NET ではやや簡単です。しかし、Java でどのように行うのでしょうか。
firefox - Firefoxプラグイン-ソケット
私は常に、サーバーへのソケット接続を確立し、サーバーがページDOMを操作できるようにする方法を望んでいました。たとえば、これは株価情報ページで使用できるため、サーバーは新しい見積もりが利用可能になったときにプッシュできます。
これがHTTPの要求/応答プロトコルの古典的な制限(機能?)であることは知っていますが、これはFirefoxプラグインとして実装できると思います(ブラウザー間の互換性は私のアプリケーションにとって重要ではありません)。Java / Flashソリューションは、(私が知る限り)ボックス内に存在し、DOMと対話できないため、受け入れられません。
これがFirefoxプラグインの能力の範囲内であるかどうかを誰かが確認できますか?誰かがすでにこれまたは類似のものを作成しましたか?
sockets - パスカルのソケット
Pascal でネットワーク ソケットをどのように使用しますか?
java - 切断時に Java ソケットをフェイルファストに設定しますか?
サーバーにリスニング ポートがあり、Java クラスとSocket
インターフェイスを使用して接続しています。
次に をつかみ、 autoflush モードで をOutputStream
デコレートPrintWriter
すると、私は笑います (リスニング ポートが閉じている場合を除く)。それから私は得る
プログラムの問題を検出できないようです-ソケットでメソッドを使用しようとしましたisConnected()
が、接続が閉じられていることを認識していないようです。
次回ソケットに書き込もうとするときに問題を認識して、再接続して問題を報告できるようにしたいと思います。
アドバイスをお願いします。
皆さんありがとう
unix - sendto の最大バッファ長は?
sendto(..)
UDP ポートとして開かれたソケットの呼び出しに渡すことができる最大バイト数を取得するにはどうすればよいですか?
sockets - 接続通知を使用してロジックを再接続する
サーバーへの永続的な接続を必要とするアプリケーションがあるとします。リソース (電力/帯域幅) を無駄にせず、接続が表示/改善されたときに再接続時間を短縮するために、接続/再接続ロジックを実装するにはどうすればよいですか? 接続通知のみを使用すると、ローカル ネットワークに関係のない問題が発生する可能性があります。
C#
バージョンを見せていただければボーナスです。