問題タブ [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.
python - SocketServer.TCPServerでソケットを再利用できません
SocketServer.TCPServerに問題があります。スレッドでサーバーを実行しています。Watchdogでディレクトリツリーを監視しています。「on_any_event」が実行されたら、サーバーを停止して再起動する必要があります。残念ながら、SocketServer.TCPServerにアドレスを再利用させることができません。SocketServer.pyファイルを確認しましたが、allow_reuse_address
Trueの場合はsocket.SO_REUSEADDR
1に設定されているはずですが、それでも失敗しerror: [Errno 98] Address already in use
ます。再試行する前に10秒間スリープしても、どちらも役に立ちません。何か助けはありますか?
python - Python SocketServer マルチキャストでリッスンする
私は、成功せずにマルチキャストで SocketServer python モジュールをリッスンする方法を見つけるために探し回っています。
誰でもそうすることができましたか?
どんな洞察も大歓迎です!
ありがとう
python - socket.error:[Errno111]接続が拒否されました
プロトタイプを準備しようとしていますが、接続に問題があります。クライアントとサーバーの両方にOpenSSLを使用しています。
そしてクライアント:
最後に、エラー:
どんな助けでもいただければ幸いです。単純なものが欠けているような気がしますが、ネットワークプログラミングは初めてです。
netstat -tpn
サーバーの実行中の出力:
java - Javaを使用してHTML5 Websocketサーバー側を実装してブラウザにメッセージを送信しますか?
こんにちは、このスレッドから読み取る WebSocket フレームを実装しました サーバー側で WebSocket メッセージを送受信するにはどうすればよいですか? 、 本当にありがとう。
ハンドシェイクの実装に成功しました。ブラウザから Java へのメッセージの受信とフレームの読み込みに成功しました。
これが送信時のJavaでの私の実装です。
この関数を broadcast("Hello world"); のように呼び出すと、サーバーはすぐにメッセージをブロードキャストし、ブラウザーは情報を受信して表示します。すぐにソケットが閉じて、「ソフトウェアが原因で接続が中止され、ソケット書き込みエラーが発生しました」がスローされます。あとでメッセージを送信できません。
python - SocketServer ThreadingTCPServer & Asyncore Dispatcher
SocketServer モジュールを使用して、サーバーのリクエスト ハンドラー内の個々の接続にタイムアウトを追加したいと考えています。
まず、Python を使用してネットワーク プログラミングを試みるのはこれが初めてです。SocketServer.BaseRequestHandler と SocketServer.ThreadingTCPServer と SocketServer.TCPServer をサブクラス化し、いくつかの基本的なスレッド TCP 機能を備えた 2 つのクラスを作成することができました。
ただし、着信接続をタイムアウトにしたいと思います。組み込みの SocketServer タイムアウト値とメソッドのいずれかをオーバーライドしようとしても機能しません。ドキュメントによると、これはフォーク サーバーでのみ機能するためです。X 秒後に起動するタイマー スレッドを作成することができましたが、ハンドラー スレッド内のブロッキング recv 呼び出しの性質により、強制的に強制終了されるため、これは役に立ちません。避けたい。
したがって、通知を受け取り、一定量のデータを読み取る非同期コアの実装が必要であることを理解しています。5 秒間データが送信されない場合、その接続を閉じたいとします (きれいに行う方法を知っています)。ソケットで非同期コアを使用する例をいくつか見つけましたが、SocketServer を使用した例はありません。では、どうすれば asyncore & threadingTCPserver を実装できますか? 出来ますか?誰かがやったことがありますか?
java - 複数のクライアント用の PHP Socket Server
重複の可能性:
Flash クライアントを備えた PHP ソケット サーバー
フラッシュ開発者の助けを借りて、サーバーでアプリを構築しています。彼は、データベースと通信するためのソケット サーバーを構築するように依頼しました。彼は私に JAVA を勧めてくれましたが、私は Java があまり得意ではなく、PHP でソケット サーバーを構築できるかどうか疑問に思っていました。
複数の TCP クライアント接続への接続を許可する必要があります。JAVA ではこれが思考スレッドで行われることは知っていますが、これが PHP でも実現できるかどうかはわかりません。
これらの特徴を持つ PHP Socket Server の基本的な骨組みを教えてください。
接続は、アプリへの接続の開始から終了まで、TCp (永続的) である必要があります。
python - python SocketServerがwaitpid()システムコールでスタックしました
ForkingMixInでPython(2.7)SocketServerを使用しています。それはうまくいきました。
ただし、頻繁に使用する場合(大量のクライアントを迅速に接続/切断する場合)、「サーバー」がスタックし、アイドル状態のCPUをすべて消費することがあります(上部に100%のCPUが表示されます)。プロセスでCLIからのstraceを使用すると、waitpid()syscallの無限のシーケンスが実行されることが示されます。コマンド「ps」によると、この時点では子プロセスはありません。
この問題の後、私のサーバー実装は使用できなくなり、再起動のみが役立ちます:(クライアントは接続できますが、答えはありません。OS側では「バックログ」キューだけが使用されていると思いますが、Pythonコードは接続を受け入れません。
これは、たとえば、いくつかのプライベートHTTP実装を使用して簡単に再現でき、CTRL-R(リロード)を備えたブラウザー(私はchromeを使用)を10秒ほど押し続けます。もちろん、この「残忍な」試みがなくても、「通常の使用法で」問題が発生することはめったになく、何が問題になるのかを理解することすら困難でした。os.fork()を使用したSocketServerやソケット関数などの独自の実装を作成しましたが、この問題はありませんが、「すでに準備ができている」「標準」のソリューションに満足しています。
問題:サーバーを実装する私のスクリプトはこの方法で非常に簡単にDoSできるので、それは良いことではありません。
気付いたのは、SIGCHLD用のsingalハンドラーをインストールしたことです。それを削除すると、問題を再現できないようですが、ゾンビプロセスを確認できます(wait()されていないためだと思います)。signal.SIG_IGNを使用してシグナルハンドラーをインストールしても、この問題が発生します。
誰かが問題になる可能性があり、私がこれをどのように解決できるかを助けることができますか?とにかく、特に長い実行の後で、多くのゾンビプロセスを残すのはあまり良くないので、singalハンドラーを使用したいと思います。
アイデアをありがとう。
telnet - telnet catch ctrl+c サーバー
here
のようなソケットサーバーを作成しました。telnetと入力ctrl+c
しても、サーバーは何もしません。どうsignal(SIGINT,SIG_IGN)
すればいいの?
python - HTTP 応答のバイトをフォーマットするライブラリ
正しい HTTP 応答のみをフォーマットできるライブラリが必要です (Web サーバーを既に持っているため、Web サーバーを作成する必要はありません)。
http 応答の本文とコンテンツ タイプをこのライブラリに渡す必要があります。
AJAX を送信しようとすると、次の関数が正しく動作しません - jQuery が応答を見つけられません。ただし、ブラウザの URL 文字列に対応する URL を入力すると、ページが表示されます。
詳細. データ変数はjsonの文字列です。また、SocketServer クラスを使用し、子の handle() 関数で self.request.sendall( result_response ) を呼び出します。
解決しました。その理由は、クロスドメイン リクエストにありました。
php - PHP ソケット - 複数の接続を受け入れる
シンプルなクライアント/サーバー アプリケーションを作成しようとしているので、PHP でソケットを試しています。
現在、サーバーに適切に接続するC#の単純なクライアントがありますが、このサーバーに一度に接続できるクライアントは1つだけです(このコードサンプルをオンラインで見つけて、テスト目的で少し調整しました)。
ここで同じ例に基づいて、私は同じ質問を見つけました: https://stackoverflow.com/questions/10318023/php-socket-connections-cant-handle-multiple-connection
私はそれのすべての部分を理解しようとしましたが、それがどのように機能するかを詳細に見ることに近づいていますが、何らかの理由で、2番目のクライアントを接続すると、最初のクライアントが切断/クラッシュします.
ワイルドなアイデアや、どこを見ればいいのか教えてくれる人はいますか?