問題タブ [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.

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

java - Java でソケットを使用した HTTP 1.1 持続接続

HTTP 1.1 を使用してサーバーで HTTP 要求を行い、接続を閉じない Java プログラムがあるとします。1 つの要求を作成し、ソケットにバインドした入力ストリームから返されたすべてのデータを読み取ります。ただし、2 番目の要求を行うと、サーバーから応答がありません (または、ストリームに問題があり、それ以上入力が提供されません)。リクエストを順番に(リクエスト、リクエスト、読み取り)行うと正常に機能しますが、(リクエスト、読み取り、リクエスト、読み取り)は機能しません。

なぜこれが起こっているのかについて、誰かが洞察を与えることができますか? (コード スニペットが続きます)。何をしても、2 番目の読み取りループの isr_reader.read() は -1 しか返しません。

質問への回答: はい、サーバーからチャンクされた回答を受信して​​います。外部の制限により、生のソケットを使用しています。

コードがごちゃごちゃしていて申し訳ありません - 私は記憶から書き直していたので、いくつかのバグを導入したようです。

したがって、コンセンサスは、(要求、要求、読み取り) を実行して、最後に到達したらサーバーにストリームを閉じさせるか、または (要求、読み取り、要求、読み取り) を実行した場合、ストリームの最後に到達する前に停止する必要があるということです。ストリームが閉じないようにします。

0 投票する
6 に答える
9098 参照

java - Javaで到達不能なホストを検出する最も簡単な方法は何ですか?

boolean isReachable(String host, int port)以下の条件で以下のJUnitテストに合格する最速かつ最も正確な関数が欲しいです。タイムアウト値はJUnitテスト自体によって指定され、「到達不能」と見なされる場合があります。

注意:すべての回答はプラットフォームに依存しない必要があります。これは、 Windowsでpingを実行するためInetAddress.isReachable(int timeout)にポートに依存しているため7(ICMP pingはWindowsでは文書化されていない機能です)、このセットアップではこのポートがブロックされているため、機能しないことを意味します。

LANセットアップ:

  • thisMachine192.168.0.100
  • otherMachine192.168.0.200
  • マシンが呼び出されnoMachineていないか、IPがありません192.168.0.222(常に到達不能)
  • 両方のマシンがポートでApacheTomcatを実行しています8080。他のすべてのポートに到達できません(ポートを含む7
  • example.com208.77.188.166)はポートでWebサーバーを実行しており80、LANがインターネットに接続されている場合にのみ到達可能です

場合によっては、LANがインターネットから切断されます。その場合、IPアドレスで呼び出されたローカルマシンのみが到達可能です(他のすべてのマシンは到達不能です。DNSはありません)。

すべてのテストはで実行されthisMachineます。

次のテストは、LANがインターネットから切断されている場合にのみ実行されます。

次のテストは、LANがインターネットに接続されている場合にのみ実行されます。

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

c# - インターネット経由でサーバーに接続できません

ローカルマシンでサーバーを実行して同じマシンで接続することはできますが、インターネットを介して別のコンピューターからサーバーに接続しようとすると、サーバーにアクティビティの兆候がなく、サーバーからの応答もありません。私がテストしているコンピューター上で。XPとVistaの両方を試し、ファイアウォールをオフにし、ポートを開き、管理者として実行しました。何も機能していません。:(

着信接続を受け入れるために使用しているコードは次のとおりです。

p>

0 投票する
3 に答える
810 参照

java - Jabber への Java 接続

TCPソケットを介して接続要求メッセージをjabberに書き込むために使用する必要があるストリームのタイプ。xml形式の文字列を書いています。デフォルトのソケット ストリームまたは dataoutputstream で動作するはずですが、動作しません。

0 投票する
7 に答える
9923 参照

perl - Perl で raw ソケットを使用するにはどうすればよいですか?

Perl でrawソケットを取得するにはどうすればよいでしょうか? また、それを使用するためのパケットを構築する最良の方法は何ですか?

0 投票する
6 に答える
8997 参照

ruby - Rubyを使用して空きTCPサーバーポートを見つけるにはどうすればよいですか?

1 回限りの HTTP サーバーを作成して単一のコールバックを処理しようとしていますが、Ruby で空いている TCP ポートを見つけるのに助けが必要です。

これは私がやっていることの骨組みです:

(最初の接続に標準入力をエコーし​​、その後終了します。)

リッスンする空きポートを自動的に見つけるにはどうすればよいですか?

これは、一意のジョブ ID でコールバックするリモート サーバーでジョブを開始する唯一の方法のようです。その後、このジョブ ID を照会してステータス情報を取得できます。元の設計者が、ジョブをスケジュールするときにジョブ ID を返すことができなかった理由はわかりません。複数のコールバックとの競合が発生する可能性があるため、単一のポートは使用できません。このようにして、ポートは +-5 秒間だけ使用されます。

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

c# - SocketオブジェクトとTcpClientオブジェクトの間で変換することは可能ですか?

これは、差し迫った必要性よりも単に好奇心に基づいた別のC#/。NETの質問です...

インスタンスがSocketあり、それをより高いレベルのTcpClientクラスでラップしたい場合、それは可能であり、どのように実行しますか?

逆に、のインスタンスがある場合TcpClient、基礎となるものを取得することは可能Socketですか?

0 投票する
3 に答える
1345 参照

python - ソケット サイズの制限を正しく受け取りますか?

サーバーとして機能し、クライアントからデータを受け取るプログラムを Python で作成しています。データ量に厳しい制限を課すのは良い考えですか?

詳細情報: 特定のチャット プログラムでは、1 回の送信 (つまり、ユーザーが [送信] を押すたび) に送信できるテキストの量が制限されているため、問題は、これに正当な理由があるかどうかです。

0 投票する
6 に答える
5830 参照

c# - C# ストリーミング ソケット、メッセージを分離する方法は?

ちょっと長いタイトルですが…

私はこれらの例、特にメッセージのサイズをバイトストリームに書き込んだり読んだりする部分について見てきました
http://doc.trolltech.com/4.4/network-fortuneclient-client-cpp.html
http:/ /doc.trolltech.com/4.4/network-fortuneserver-server-cpp.html

しかし、私はC#でそれを理解できないようです。

これはまったくうまくいきません。誰かが私に正しい方向への微調整を与えることができますか?

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

c - C を使用して事前定義されたポートに接続する TCP ソケットを作成する方法

とても簡単な質問があります。特定のポートが現在使用されているかどうかをテストしたい。このために、TCPソケットをポートにバインドしたいと思います。接続が拒否された場合はポートが使用中であることを意味し、そうでない場合はポートが空いていることを意味します。

CでTCPソケットコードを書く方法を教えてください。私はsolarisプラットフォームを使用しています。

私はその非常に基本的なことを知っています。しかし、私はあなたの助けに感謝します. 前もって感謝します。