問題タブ [python-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.
python - TCPServer をマルチプロセッシングにする方法
クライアント ソケットからの TCP リクエストを処理するために TCPHandler を使用していますが、次のようなスニペット コードである multiThreading を使用しているときにパフォーマンスの問題が発生しました。
上記のコードは multipleThreading ですが、これを multipleProcessing に変換するにはどうすればよいですか。
python - Python sock.recv がページからすべてのデータを取得しない
これは、低レベルのソケット通信を行う方法を学ぶのに非常に難しいステップでしたが、本当にこれを学びたいと思っています。壁に来て、適切な方法を見つけることができないようです.
すべてのデータを取得するにはどうすればよいですか? 複数のことを試しましたが、応答の一部しか取得できません。
私が今試しているURLは次のとおりです。
調査の結果、この方法を試しましたが、上記の完全な JSON ページを印刷できませんでした。何か間違っていますか?
python - httplib.HTTPSConnection() によって作成された接続が最後に作成された時間
Python と httplib ライブラリを使用して、Parse.com で設定したプロジェクトからデータを取得する必要があります。私の会社のファイアウォール ルールにより、より一般的な "httplib2"、"requests"、および "urllib2" ライブラリは使用できません。
httplib と HTTPSConnection に関するいくつかの質問:
- が呼び出されたとき、セッション
conn = httplib.HTTPSConnection("api.parse.com", 443)
の最後の時間はどれくらいですか?conn
conn = httplib.HTTPSConnection("api.parse.com", 443)
電話する必要があるたびに、最初に電話する必要がありますconn .request('GET')
か?- 私はプロキシの背後にいて、ネットワークの状態が安定していないため、失敗する
socket.gaierror errno 11004 getaddrinfo failed
原因となる例外がスローされることがあります。GET/POST
ネットワークの問題が原因で接続がドロップまたは失われたかどうかを確認するにはどうすればよいですか?
python - socket.recv() の後に break ステートメントに到達しないのはなぜですか?
次のコードを記述してデータを受信し、データをファイルに書き込みます。
私の質問は: if ブランチ (" if not data: break ") が実行されないことがわかりました、1)。if ブランチに到達しないのはなぜですか? 2)。コードが while ループを終了するにはどうすればよいですか?
python-3.x - Asyncio ソケット リーダーが空のバイトを返す
簡単なクローラーを作成しようとしています。ただし、サーバーからの応答を読み取ろうとすると、最初にのみ応答が返されます。次に、リーダーはバイトの読み取りを停止し、b'' を返します。タイムアウトを入れて、書き込み後にdrain()を使用しようとしました。結果を出していません。Wireshark は回答がサーバーから来ていることを示していますが、私のプログラムは回答を認識していません。
python - 同じネットワーク上にない 2 つの異なるマシン間で ssh トンネルを開く方法は?
以下のコードを試しました:
しかし、私はエラーが発生しました:
その私wan ip:78.163.XX.XX
と私はsshポート(22)と通常のポート(4444)をinternal ip (192.168.2.50)
開き、モデムインターフェイスから私のポートにリダイレクトしましたが、それでも同じネットワーク上にない2つの異なるコンピューター間のsshトンネルを開くことができません。
どうすればこの問題を解決できますか? または私の問題は何ですか?何か案が?
さらに、ローカルで host=socket.gethostname() を試すと、正しく動作しますが、同じネットワーク PC では動作しません。
前もって感謝します..
python - いつ/なぜ s.shutdown(socket.SHUT_WR) を使用するのですか?
Pythonネットワークプログラミングの学習を始めたばかりです。Foundations of Python Network Programming を読んでいましたが、s.shutdown(socket.SHUT_WR) の使用を理解できませんでした。ここで、s はソケット オブジェクトです。これが使用されるコード (ここで、sys.argv[2] はユーザーが送信したいバイト数で、16 の倍数に丸められます) です:
そして、これは著者が提供する説明であり、私が理解するのが難しいと感じています:
2 番目に、クライアントが送信の送信を終了した後、ソケットで shutdown() 呼び出しを行うことがわかります。これにより、重要な問題が解決されます。サーバーがファイルの終わりを確認するまで永遠に読み取りを行う場合、クライアントはソケットで完全な close() を実行する必要がなくなり、多くの recv( ) サーバーの応答を受信するためにまだ行う必要がある呼び出しはありますか? 解決策は、ソケットを「半分閉じる」ことです。つまり、一方向の通信を永久にシャットダウンしますが、ソケット自体を破壊することはありません。これにより、サーバーはデータを読み取ることができなくなりますが、残りの応答を送り返すことができます。まだ開いている他の方向。
それが何をするかについての私の理解は、それがクライアントアプリケーションがそれ以上データを送信するのを防ぎ、したがってサーバー側がそれ以上データを読み取ろうとするのを防ぐことです。
私が理解できないのは、なぜこのプログラムで使用されているのか、どのような状況で自分のプログラムで使用することを検討すべきなのかということです.
python - Python ソケット スクリプトの何が問題になっていますか?
作業中のサーバーにプレーンテキストの http リクエストを送信するテストを支援する短いクラスを作成しましたが、サーバー以外のドメインへのリクエストであっても、それを使用して行ったリクエストはどれも通過しません。すべてのリクエストがタイムアウトしています。このクラスは、python のソケット モジュールの単なるラッパーです。興味深いことに、このクラスは数か月前まで問題なく機能していました。それ以来、私はコードに触れていません。
ソース:
これは、いくつかの変更を加えた、テストに使用したスクリプトです。私が行おうとしている実際のリクエストは、私のライブサーバーに対するものであり、リクエストはブラウザとpythonのリクエストライブラリで機能します。プライバシー上の理由から、ここにリストすることはできません。ただし、以下のリクエストもタイムアウトします。
テスト スクリプト:
どんな助けでも感謝します。ありがとう!
編集
タイムアウトは、getResponse() の try/except ブロックでキャッチされます。出力は次のようになります。