問題タブ [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.
java - 子プロセスはソケット経由で通信できません
私はJavaでP2Pシステムを書いています(大学の研究用プロトタイプとして)。多数のピアを起動したいので、Apache Commons Exec を使用してクラスを作成し、起動するプロセス (子プロセスとして) を記述した XML 構成ファイルと、サーバーとしてリッスンするポートを記述しました。私の問題は、子プロセスがソケットを介して互いにメッセージを送信できないことです。これが必要な特定の理由はありますか?
コマンドラインから開始された個別のプロセスを使用してテストを行いましたが、ソケット通信は正常に機能します。動作しないのは、それらが同じ親の子プロセスである場合のみです。私は同じ Windows XP ボックスですべてを実行しています。
python - SocketServer.TCPServer を使用した SSL 経由の TCP サーバー
SocketServer.TCPServer クラスに基づく既存の TCP サーバーに ssl サポートを追加したいと考えています。そこで、TCPServer クラスのデフォルトのコンストラクターをオーバーライドし、ssl.wrap_socket(...) 呼び出しを追加しました。
サーバーの起動時に、エラーは発生しません。そこで、単純なテストクライアントを変更して、ssl もサポートするようにしました。
ここでもエラーは発生しませんが、connect-call がブロックされています。Ctrl+C を使用してクライアントを閉じると、次のように表示されます。
そのため、接続時に do_handshake がブロックされています。問題を解決する方法を知っている人はいますか?暗号化されたTCP接続を使用したいだけです:)
python - Python socket.send() は 1 回しか送信できず、socket.error: [Errno 32] 壊れたパイプが発生しました
私はネットワークプログラミングの初心者なので、これがばかげた質問である場合はご容赦ください:) Python2.7を使用してUbuntu 10.04.2で1つのクライアントと1つのSocketServer.ThreadingMixInサーバーを作成しましたが、sockしか呼び出せないようですクライアントで .send() を 1 回実行すると、次のようになります。
私が書いたコードは次のとおりです。
testClient1.py:
testServer.py:
私はそれらを2つの別々の端末で実行しました:
第1ターミナルの出力:
2番目の端末の出力:
たとえば、testClient.pyでsock.send()を2回直接呼び出してみました。
しかし、端末の出力はまだ同じです:(誰かが私がここで間違っていることを指摘できますか?前もってThx!
思いついた【ソル】はこちら。ありがとうマーク:)
testClient1.py:
testServer.py:
python - Python SocketServer.TCPServer リクエスト
私はPythonのSocketServerで遊んでいます:
ソースを読むと、 がパラメーターとしてRequestHandler.__init__()
受け取り、参照を保持していることがわかります。request
self.request
request
オブジェクトの仕様はどこで確認できますか?
python - (ありますか)通常のソケットオブジェクトよりもpython socketserverのパフォーマンス上の利点はありますか?
これまでの興味深い回答に感謝します。上記の回答に照らして、質問を少し変更しました。
私が本当に知る必要があるのは、遅延とストレスの両方の期間を処理するように設計されたストレートなソケット ライブラリとは対照的に、socketserver であると推測します。つまり、「サーバー」として暗黙的に宣伝されたステータスを正当化する追加のメカニズムまたは機能があります。それとも少し使いやすいですか?
誰もがsocketserverを推奨しているようですが、socketとは対照的に、その理由はまだ完全には明らかではありません.
ありがとう!!!
標準ソケットライブラリhttp://docs.python.org/library/socket.htmlに基づいて、Pythonでいくつかのサーバープログラムを構築しました
負荷がないとしばらくするとスリープ状態になる傾向があることを除いて、それらは問題なく動作しているように見えることに気付きました. これは本番環境では問題にならない可能性があると思います (他にも多くの問題があることは間違いありません) が、ここでの作業に適切なコードを使用しているかどうかを知りたいです。
周りを見回すと、pythonもsocketserverライブラリを提供していることがわかりました - http://docs.python.org/library/socketserver.html
ソケットライブラリは、複数の接続 (通常は最大 5 つ) をリッスンする機能を提供します。
socketserverページによると、そのサービスは同期、つまりブロッキングですが、スレッドを介して非同期動作をサポートする場合があります。デフォルト値は最大5リクエストで、リクエストキューを維持する機能があることに気付きました...おそらくそれほど違いはありません。
また、Twisted が内部で socketserver を実行していることも読みました。ツイストのようなサイズの野獣には乗りたくないけど、それが価値のあるものでない限りね。
私の質問は、socketserver は socket よりも堅牢ですか? もしそうなら、なぜですか?
(そして、どうやって知っていますか?)
ちなみに、socketserver は python のソケットの上に構築されていますか、それとも完全に別のものですか?
最後に、おまけとして、標準のソケットが「眠りに落ちる」ような間違ったことを誰かが知っているなら、それについても気軽に声をかけてください。
ああ、それが違いを生むなら、ここでは3.xではなくpython 2.xについて話しています。
ありがとう!
jsh
まあ、技術的な答えはありませんが、人々の推奨に従ってSocketServerを実装しましたが、間違いなく信頼性が高くなっています。誰かが低レベルの説明を思いついたら、私に知らせてください...ありがとう!
python - Python の Socketserver から Telnet へのエラー
私は小さなサーバーとクライアントを楽しみのために書いており、ソケットの使用方法と簡単なネットワークの実行方法を学んでいます。Telnet の「プロトコル」を使用してサーバーにユーザー名を要求し、パスワードを入力します。サーバーは、ユーザー名として「NICK」を取得すると、次のように送信されたことを訴え connection.write(bytes("NICK\n", 'latin1'))
ます。接続は Telnet オブジェクトです。「整数の引数が必要で、浮動小数点数が得られました」と表示され、クライアントは不平を言います
何が起こっていたのか誰か知っていますか?
クライアントとサーバーの完全なコードは次のとおりです。
クライアント:
サーバ:
ありがとう、私のコードはおそらくサルが書いたように見えますが。
java - Java Socket Server -- Web アプリケーション (Web サービス) へのリダイレクト
次の要件があります。
着信要求をリッスンするソケット サーバーを作成する必要があります。ソケット クライアントは C で記述されています。クライアントは JSON データを送信します。
クライアント入力は別のソースにリダイレクトする必要があります。たとえば、内部または外部の Web サービス (SOAP、JAX-WS) を呼び出す必要がある場合があります。
私の質問は、そのようなコミュニケーションを達成するための最良の方法は何ですか?
python - preforking デーモンで db 接続を管理する最良の方法は何ですか?
私はpythonを初めて使用し、pythons SocketServer.ForkingTCPServerを使用して、データベース(mysql)に接続する必要があるネットワークスクリプトを作成しています。プログラムは 1 秒間に約 30 ~ 40 回ヒットすると予想されます。プロセス間で同じデータベース接続を共有することは可能ですか?
python - Python socketserver を使用して、ハンドラ クラスのコンストラクタに変数を渡すにはどうすればよいですか
データベース接続を EchoHandler クラスに渡したいのですが、それを行う方法や EchoHandler クラスにアクセスする方法がまったくわかりません。
python - Python SocketServer で接続タイムアウトを作成する方法
良い一日!私は単純なサーバーを書きました:
接続タイムアウトの設定方法。クライアントがデータを送信せず、30 秒以内にアクティブでない場合、サーバーは接続を閉じます。
PS私の英語でごめんなさい。
アップデート