問題タブ [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 に答える
1101 参照

python - 現在のリクエストハンドラから別のリクエストにデータを送信する方法は? (ThreadingMixIn を使用した Python SocketServer)

組み込みの SocketServer の TCPServer と ThreadingMixIn を使用して、Python でマルチプレイヤー ゲーム サーバーとクライアントを作成しています。これは、ソケットとスレッド モジュールを手動で管理するよりも簡単に思えるためです。(これには組み込みモジュールを使い続けたいと思います。) 通信には HTTP に似たプロトコル (GTP) を使用します。

1 つのクライアントのみを含む要求は、既に機能しています。クライアントがリクエスト " GET /index.html GTP/0.2" を送信した場合、サーバーはそのクライアントに " " 応答するだけGTP/0.2 200 OKです。しかし、(サーバーの状態に記録されているように) クライアント A と B の間でゲームが行われており、クライアント A が要求 " " を送信した場合、プレーヤー A の順番を取得した後、サーバーはプレーヤー A と B の両方TURN <my turn info> GTP/0.2に変更をどのように通知しますか?

これまでの私のコードの要点は次のとおりです。

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

java - クライアントを起動するサーバー?

コンピュータサイエンスのクラスでプロジェクトを取得しました。教師から提供されたパスワード復号化ソリューションを使用し、マスター/スレーブ関係でネットワーク全体で使用できるように調整するという割り当てを受けました。

これは、マスター(サーバー)が「休止」スレーブ(クライアント)に接続する必要があることを意味します。取得した暗号化されたパスワードを復号化するために複数のスレーブを使用したいので、ここでは少し混乱していますが、クライアントが接続を開始するのではなく、サーバーがクライアントへの接続を開始するシステムを設計することはできませんサーバー。

スレーブに暗号化されたパスワードのリストを送信し、暗号化されたバージョンの辞書と比較して結果を返送する必要があります。

マスターをクライアントとして扱い、スレーブをサーバーとして扱うことについて説明しましたが、同じポートを介して異なるサーバーにストリーミングできないため、これは問題になります。ポートを変更する必要があります。これが唯一の解決策である場合は、そうしてください。何か助けはありますか?

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

python - SocketServerで送受信無限ループ - Python - ConnectionAbortedError

TCP で画像をクライアントに送信する単純なサーバーを作成するために socketserver を使用しようとしています。最初にクライアントにカタログを送信すると、クライアントからリクエストが返されます。

サーバーのハンドルには、次のループがあります。

主に、この行を使用してサーバーを作成します(別のファイルにあります):

このプログラムを起動すると、クライアントは正常に接続してカタログを受信しますが、一部のデータのみを返し、プログラムは try/catch を除いてジャンプします。try/catch がないと、次のエラーが発生しました。

何が問題なのかわかりません。おそらく同期が失われているのでしょうか、それともスレッドを使用する必要があるのでしょうか?

ご協力ありがとうございました

(私はpython 3.3を使用しています)

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

python - Python 3でSocketServer経由で画像を送信するにはどうすればよいですか?

Python 3のsocketserverで画像を送信したいのですが、エンコードに問題があります。バイト単位で送信する必要がありますか、それともテキストで送信する必要がありますか?また、「b」オプションを使用して画像を開き、特定の形式に変換する必要がありますか?

以前のバージョンのPythonでは、次のことができました。

しかし、Python 3では、それはもう機能しません。エンコーディングとコーデックの問題があり、encode()、decode()、str()の使用法をよく理解していません。

私がそれをどのように実装できるか、あなたは何か考えがありますか?

ありがとう

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

android - 独立したモバイルプラットフォーム(ios、android ...)は1つのトランザクションサーバーに接続しますか?

独立したクライアントにテキストを送受信する1つのトランザクションサーバーを開発したいと思います。トランザクションサーバーの開発にJava言語を使用することにしました。トランザクションサーバーと通信するために、android、Ios、Win8の3つのクライアントがあります。さて、そのようなプロジェクトを開発することは可能ですか?androidのネットワークライブラリとIosのネットワークライブラリを使用して、javaで記述された1つのトランザクションサーバーに接続することはできますか?私はあなたの提案を見てうれしいです。

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

java - Java のイベント駆動型サーバー

イベント駆動型の HTTP Web サーバーを作成しようとしています。使用するスレッドは 1 つだけなので、イベントをキューに入れ、非同期で処理する必要があります (Java NIO も使用しています)。しかし、私は最初のステップだけで立ち往生しています。を開きましたServerSocketChannel。要求が入ったときに新しいSocketChannel接続を取得する方法がわかりません。Java を介してアクセスできるオペレーティング システムのキューはありますか? (Java は OS に依存しないため、よくわかりません) ブロッキング呼び出しを使用したくありません。

私が間違った方向に進んでいる場合は、助けていただければ幸いです。

ありがとう。

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

c# - サーバーが送信を完了する前にファイルを受信するc#ファイルサーバークライアント

私はc#で作成したファイルサーバーに問題があります。問題は、サーバーとクライアントの両方をコンピューターで実行すると正常に動作するのに、別のコンピューターでクライアントを使用すると、サーバーがファイルの送信を完了する前にクライアントがファイルを受信することです。どんな入力でも役に立ちます。ありがとう。

サーバ:

クライアント :

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

python - TCPPythonSocketServerで宛先IPをキャプチャする

ダースのIPアドレスが関連付けられているLinuxサーバーで実行されているPythonスクリプトがあります。PythonのsocketserverライブラリからTCPSServerを実装し、すべてのネットワークインターフェイスでリッスンさせました。

いくつかのデバイスがこのサーバーに接続するため、宛先のIPアドレス(クライアントのIPアドレスではなく、クライアントが接続していると見なすサーバーのIPアドレス)を何らかの方法でキャプチャできる必要があります。現在、クライアント接続を受信でき、クライアントIPを確認できますが、宛先IPを取得する方法がわかりません。

誰かがsocketserverクラスで宛先IPをキャプチャする方法を知っていますか?複数のインターフェースを聞くことができれば、どのインターフェースがヒットしたかを知る方法があるように思われます。

これは最終的に複数のサーバーにインストールされ、それぞれのサーバーのネットワークインターフェイスの数は不明です。ただし、これはLinuxベースのシステムにのみ存在することを私たちは知っています。したがって、これを行うためのOS固有の方法があれば、私もそれで問題ありません。

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

python - クラス内から外部関数を呼び出す方法-python

ソケットを介して解析されているデータを収集しようとしています。これが私のコードです:

私の質問は、SocketRecieverクラス内からParentClassCall関数をどのように呼び出すかです。

この方法はセキュリティの問題に悩まされていることは知っていますが、インターネットにアクセスできないコンピューターで実行されます。