問題タブ [serversocket]

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 に答える
1386 参照

java - ローカル マシンから ServerSocket への接続

私はJavaにかなり慣れていないので、現在ソケットとバッファを試しています。

私が試したかったのは、あるローカル Java アプリと別のローカル Java アプリからの接続をインスタンス化することだけでした。ServerSocket と Socket を使用しています。

サーバー アプリには、接続をリッスンするスレッドがあります。

「クライアント」は単純に文字列をサーバーに送信します(そうすべきですが、機能させることはできません):

ポートが開いていて、既にローカル マシンに転送されていることは確かです。http://canyouseeme.org/で確認しました。

また、外部 IP アドレスをクライアントのソケットの IP として使用してみました。それもうまくいきませんでした。

どんな助けでも感謝します:)。

マイク。

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

java - JavaServerSocketWebSocketの応答

Javaを使用して独自のWebSocketサーバーを作成しようとしています。

クライアントが接続すると、次のリクエストが表示されます。

(角かっこ、角かっこ、コロン、およびその後のスペースの数字は、System.out.println()コマンドに追加するものにすぎません)。括弧内の数字は、バイト単位の行の長さです。

最初に、この関数を使用してリクエストを処理します。

さて、この記事によると、それが私が処理する必要のあるプロトコルの最初のバージョンであると仮定して、私は商をどのように扱うか疑問に思っていました:

重要なのは、キーごとに、桁数をスペースの桁数で割る必要があるということです。私はそのようにやっています:

replyHandshake()そして、次の関数( )を呼び出します。

そして、どこか別の場所:

私は何か間違ったことをしていますか?最新バージョンのGoogleChromeでテストしています。

前もって感謝します!

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

java - Java - ブラウザ/URL を介した ServerSocket への接続

私はソフトウェアを書いていますが、ソケットを使用して ServerSocket を使用して Java アプリケーションに接続できないという制限を受けています。

どのポートに接続するかを定義できるので、URL接続を試してみようと思いました

例えば:

サーバーアプリが接続をリッスンし、入力をjTextAreaに書き出すようにしています。ブラウザ経由でサーバー (127.0.0.1:62666) に接続すると、次のように出力されます。

URL 接続を介して ServerSocket に接続するための別のアプリがあります。

「動作するはずだった」というメッセージを出力しますが、サーバーの jTextArea には何も書き込みません。サーバー アプリのコードは次のようになります。

注: ブラウザ経由で接続すると、「Testing123」というテキストが表示されます。

したがって、私が試している方法でこれを行う方法、またはServerSocketがアクセスされたURLを読み取る方法を考えているので、引数を(URLで)渡しながらURLを介してアクセスできます。

これが理にかなっていることを願っています:)

ありがとう、マイク。

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

java - ポートを閉じるには ServerSocket.close() を呼び出すだけで十分ですか?

次のような Java コードがあります。

...などなど。後で server.close() を呼び出すと (socket.close() を最初に呼び出しても動作は変わりません)、エラーは発生しませんが、netstat はポートがまだリッスンされていることを示しています。ServerSocket.close() を呼び出すだけで、このシステムのポートを解放できますか?

Java 1.4.2 マイクロエディション ランタイム用にプログラミングしています。このメソッドを別のスレッドで実行していて、その親スレッドからソケットを閉じようとしていることにも注意してください。

編集これは netstat からの行ですが、Xlet を再度開始すると、そのポート番号で例外が発生するため、まだリッスンされていることは保証できます。

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

java - Java ソケット システム アドレス

同じモデムに接続されている、または同じインターネット接続を共有している別のシステムを識別する方法は? 私はgetHostAddress()「getHostName()」を適用しましたConnection(これは socket.getInetAddress()) ですが、どちらも同じように見えます。

接続しているさまざまなユーザーが、同じ IP を共有する同じシステムに属しているかどうかを知りたかっただけです。

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

java - BluetoothAndroid開発者コード

AndroidDeveloperのコードを参照しましたコードをコンパイルし、いくつかのエラーをいじくり回した後、私はこれを理解できませんでした。

タイプHandlerのメソッドgetMessage(int, int , object)は、引数には適用できません(String, int ,int, Byte[])

以前にこのコードを使用したことがある人が、広告が必要なものや不足しているものを教えてもらえますか?それはおそらく本当に単純なものです。ありがとうございました。

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

java - ServerSocket ファイル送信の欠落バイト

問題

クライアントからのデータがすべて送信されていること、およびサーバーが受信しているデータも完全に送信されていることをパケットスニファーで確認しましたが、わずかな問題があります。

以下は、サーバー内のクライアント スレッドの関連部分の基本的な表現です。

サーバーは BufferedReader を使用して認証データを読み込み、認証が完了するとソケットからデータを読み込みます。変数「fos」は、DataInputStream データが書き込まれる FileOutputStream です。

これは概念的にはすべて正しいように見えますが、実際には読み込まれたファイルの最初の 1450 バイトが欠落しています。ストリーム内の位置が奇妙だったが、まだうまくいかなかった場合に備えて、新しい DataInputStream(sock.getInputStream()) を使用してみました。助けてくれてありがとう!

更新 1

そのため、BufferedReader 機能を使用することができました。以前に使用していたように、文字列行を読み取るメソッドを作成しました。以下のコードを参照してください。

素晴らしい解決策のように見えましたが、まだ 1450 バイトの情報が不足しています。多分私はここで間違った方向に進んでいますか?

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

android - Android: ServerSocket.accept() がランダムにフリーズする

localhostをWebView介してバックグラウンド スレッドから供給される があります。ServerSocketこれは非常にうまく機能しますが、バックグラウンド スレッドがランダムにリクエストの受け入れを停止することがあります (「Web ページが利用できません」)。しばらくすると、変更なしで、つまり、スレッドまたはソケットを再起動したり、再度呼び出したりすることなく、accept()再び機能します。

編集 2:さらに調査したところWebView、localhost 接続の (別の?) タイムアウト値が非常に小さいため、サーバー スレッドが要求を処理する機会が得られない場合があることがわかりました。WebClient.onReceivedError回避策として、が呼び出されたときにページをリロードすると、最終的にページが読み込まれます。同じ問題を抱えている人はいますか?

デバッガーを開くと、サーバー スレッドがまだ適切に実行されており、ServerSocket.accept()メソッド (より正確には) で待機 (ブロック) されていることがわかりますOSNetworkSystem.accept(...)。ただし、accept()着信要求を受信して​​いないようです。

私のコードには特別なことは何もありません:

Windows/Mac で同じコードを使用していますが、そのような問題は経験したことがありません。

これはおそらく電源管理の最適化に関連する Android のバグのように思えます。手がかりはありますか?

編集:この問題は Android 2.x では発生せず、Android 3.1 (Samsung Galaxy Tab 10.1) でのみ発生します。

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

java - Java チャット サーバー アプリケーション - 接続されているすべてのクライアントへのメッセージの予測に問題がありますか?

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

java - オープンポートTCP通信の検索

2つのクライアントがServerSocketクラスで相互に接続できるようにルックアップサーバーが必要なAIMのようなJavaアプリケーションを作成しています。残念ながら、サーバーソケットには開いているポートが必要です。そうしないと、ファイアウォールによってブロックされます。クライアントにファイアウォール設定を手動で変更させることなく、開いているポートを見つけるか、ポートを開く(許可を求められても問題ありません)方法があります。すべてのクライアントがファイアウォール設定を手動で変更する必要はありません。ありがとう!