問題タブ [socketserver]

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

python - SocketServer.ForkingTCPServer pythonからソケットを解放する

プロキシとして機能する ForkingTCPServer を作成しています。それは完全にうまく処理しますが、実行後にソケットを解放しません。私はすでに試しましたが.shutdown().server_close()プログラムがフリーズするだけです。ソケットを解放して再び使用できるようにするにはどうすればよいですか?

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

java - セルラー モデム プロジェクトのクライアント/サーバー間の相互作用のトラブルシューティングに関するアドバイスとヘルプ

現在取り組んでいるセルラー モデム プロジェクトのクライアント/サーバー間のやり取りのトラブルシューティングについて、アドバイスと支援が必要です。クライアントとサーバーは Java で書かれています。

アドバイスが必要な質問は次のとおりです。

(1) 特にネットワークが予期せずドロップアウトする可能性があるセルラー ネットワークのコンテキストで、私が取っているアプローチが大きなファイル (コードに従う) に対応するかどうかについてアドバイスを求めています。〜1GBの大きなファイル。大きなファイルは、サーバーからクライアントに転送されるイメージを表します。これは、最悪のシナリオを表しています。基本ケースには、GPS データとタイムスタンプ情報を含む比較的小さなファイルが含まれています。これらのファイルは、KB から数 MB の範囲にある可能性が高く、頻繁に転送されます。

(2) クライアント/サーバー コードのトラブルシューティングに関するアドバイスが必要です。このアプローチが大きなファイルでは機能しない場合でも、近い将来に概念実証テストをサポートするために、基本ケースでコードを機能させたいと考えています。概念実証のためにソフトウェアの更新は必要ありません。

クライアント/サーバーのやり取りの背景。サーバーに接続するクライアント。サーバーは、クライアントを処理するために新しいスレッドを開始するクライアント要求を検出します。クライアントはシリアル化されたデータ パケットを送信します。データ パケットには、いくつかのヘッダー情報 (ファイル サイズ、crc、ファイル タイプ) とデータ ペイロードが含まれています。サーバーは、データ パケット オブジェクトを受信すると、crc とファイル サイズがヘッダーに含まれる値と一致することを確認します。サーバーは、送信が有効かどうかを示すデータ パケット オブジェクトで応答します。クライアントがサーバーから有効な応答を受信すると、クライアントはグッバイ パケットを送信してセッションを閉じます。サーバーからの応答が無効であった場合、クライアントはデータを再送信し、試行が x 回失敗すると最終的に終了します。最終的、

サーバーコードで発生しているエラーは次のとおりです。

データはサーバーとして到着し、次にオブジェクト入力ストリームでオブジェクトを読み取ろうとしたときに例外が発生したように見えます。これはさようならパケットです。

クライアントコード:

サーバー接続ハンドラ コード:

サーバーコード:

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

python - SimpleHTTPServerとSocketServer

次のように「ハンドラー」Pythonスクリプトを作成しました。

サーバーにURLリクエストを送信するjavascript関数もあります。これはすべて正常に機能します。ハンドラースクリプトを実行してからjavascriptを実行すると、ターミナルでJSからのすべてのデータを確認できます。

私がやりたいのは、ハンドラースクリプトからこのデータにアクセスできるようにすることです。理想的には、次のようなものです。

どうすればそのようなことを達成できますか?

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

python - 文字列がNULで終了するまでpython SocketServerを受信する方法

\0Python では、NUL 文字 ( ) が見つかるまで文字列を受け取る TCP SocketServer をどのように記述すればよいでしょうか? 文字列が完全に受信された後、ソケットが新しい文字列を引き続き受信できるようにする必要があります。

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

python - PythonのシンプルなTCPサーバー

ここの初心者。単純なTCPサーバーを作成しようとしていますが、SocketServerを使用してリクエストを処理します。どういうわけか、handle()メソッドが呼び出されていません。

バージョン:Linuxの2.4.3

関連するコードは次のとおりです。

コードはソケットを作成しています。netstatを使用してコマンドラインから確認できます。しかし、デバッガー(python -m pdb)では、メソッドrun()のコードがまったく実行されていないことがわかります。また、handle()も呼び出されていません。したがって、ソケットに接続しますが、何も返されません。

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

java - 非同期タスクのgetInputStream

事前定義されたInetAddressを介してソケット接続を受け入れるために非同期タスクを呼び出すアクティビティがあります。

非同期タスクは別の非同期タスクを呼び出してメッセージをリッスンしますが、getinputストリームでハングします

私は何時間も頭を悩ませてきましたが、なぜそれがぶら下がっているのか理解できません...助けてください。

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

android - ソケットプログラミングによる Android サービス

ねえ、ソケットを介してコマンドを受信し、Android アプリでステータスを更新するための無限ループを実装する必要があり、アプリケーションが閉じられていてもそのスレッドを実行したいと考えています。したがって、私が考えていることが最適な解決策であるかどうかを知る必要があります...コマンドを探すスレッドを作成するサービスを作成することを計画しており、このクラスも監視可能であるため、アクティビティはステータスの更新を取得できますそれ。親切にあなたの方法を提案するか、これが正しい解決策であると思われる場合. ありがとう。

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

php - PHP SocketServer は 255 を超える同時接続を受け入れません

Windows Server 2008 マシンで PHP (5.4.12) スクリプトを実行しています。同時接続の合計数が 255 に達すると、スクリプトがクラッシュします。

PHP 5.2.x システムでは、SocketServer は次のエラーで終了します。「ソケットではないものに対して操作が試行されました。」

PHP 5.4.12 はクラッシュしませんが、接続を処理しなくなりました。

PHP.net Web サイトから取得した次のコードを使用しています: http://php.net/manual/en/sockets.examples.php

「EchoServerTest.exe」を実行してスクリプトをテストしました。多数の同時接続を作成します。

最初はWinSockの問題かと思ったのですが、WinSockで255接続に制限があるのがわかりません。

レジストリ設定の TcpNumConnections、TcpTimedWaitDelay、MaxUserPort も変更しました。

Ubuntu サーバーで同じコードを使用したため、問題は Windows に大きく関係しています。これを、Windows Server 2008 (32 ビットと 64 ビット) の 2 つの異なるサーバーでテストしました。ローカルに 1 つ、インターネットに 1 つ。そのため、ファイアウォールやその他の外部の問題は除外する必要があります。

私には選択肢がありません。

質問する前に、そんなに多くの接続が本当に必要ですか? はい。多くの「デッド」接続があるため、コードを変更しました。これらの「デッド」接続は「タイムアウト」になりました。これを解決する時間はありますが、最終的に同時接続数は再び 255 に達します。

これに関するアイデアはありますか?

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

python - Pythonソケットサーバーのタイムアウト

3秒間何も受信されない場合にメッセージを出力する単純なサーバーを実装しています。

ハンドラ

サーバ

TCPServerここでは、タイムアウト メソッドをテストするために を拡張しています。に属性を設定しtimeoutました3。ドキュメントによると、その時間が経過し、クライアントにメッセージが送信されないhandle_timeout()場合、私の場合は「タイムアウト」と表示されます。

BaseServer.timeout

秒単位で測定されるタイムアウト時間、またはタイムアウトが必要ない場合は None。handle_request() がタイムアウト期間内に着信要求を受信しない場合、handle_timeout() メソッドが呼び出されます。

サーバーを起動し、出力を観察します。それに接続してメッセージを送信すると、通常は印刷されます。ただし、3 秒以上何も送信しないと何も起こりません。timeoutandhandle_timeout()が実装されていないかのように。

この動作の原因は何ですか?