高信頼性トランザクション/シグナルコピー機 (アイデア検討・開発) - ページ 7 123456789 新しいコメント --- 2012.02.16 08:32 #61 OKです。 そこで、作業モデルとしてソケット接続を提案します。 Схема работы синхронизатора: - サーバーは、クライアントとの永久的なソケット接続を作成します(各クライアントに独自のスレッドを割り当てる問題は、まだ検討中です)。 - マスタークライアントが、トレードイベント中に自分のオーダーの現在の状態を送信する。 - サーバーはこのファイルを保存し、他のすべてのクライアントに直ちに送信します(ソケット接続が既に確立されています)。 - クライアントがファイルを受信し、受信したデータに応じてオーダー状態を変更する場合 - また、新規クライアント接続時には、ウィザードの最後に保存されたファイルがクライアントに送信されます。(初期同期用) このシステムの最大のメリットは、トラフィックの節約 にあります。 - クライアントから常に要求されることはありません。サーバーから受信可能な状態で受信します - 同様に、マスタークライアントは、変更が検出されたときのみデータを送信します 接続損失時の保護 - クライアントは5秒ごとにハートビート・パケット(例:2バイト)を送信し、サーバーとの通信をチェックする。 - パケット送信が失敗した場合(アンサーなし)、クライアントは接続を再初期化します。 - サーバーも同様です。 10秒以内にクライアントから応答がない場合は、ソケット接続を終了する。 この接続によるデメリットはありますか? - 例:使用可能なソケットの最大接続数は? Yury Reshetov 2012.02.16 08:37 #62 sergeev: 接続損失時の保護 - クライアントは5秒ごとに "ハートビート "パケット(例:2バイト)を送信し、サーバーとの通信をチェックする TCP/IPトランスポートプロトコルで通信する場合は、ソケット層で、つまりオペレーティングシステムによって自動的に通信が維持されるため、このようなことは決して起こらない。接続が切断された場合、クライアントで例外がスローされ、そのハンドラはそのような場合に何をすべきか正確に指定する必要があります。サーバーとしては、クライアントが切断された場合、それはすでにクライアントの問題であるため、どうでもいいのです。 セルゲイ - 例:使用可能なソケットの最大接続数は? 1つのIPアドレスの1つのホストに対して、最大65536ポートを使用することができますが、そのうちのいくつかはすでに他のインターネット接続によって占有されていることになります。また、1つのポートは常にサーバーソケットがリッスン用に占有しています。 --- 2012.02.16 08:49 #63 Reshetov: 接続が切断され、クライアントで例外が発生した場合、そのハンドラで例外を発生させる必要があります どの例外のことをおっしゃっているのですか? WS2_32.dllのことです。 通常のBerkeleyソケット(ただし非同期型)。そこに例外は見当たりませんでした。送受信を試みて初めてクラッシュを検出することができます。 1つのホストで1つのIPに使用できるポートは最大65537個で、そのうちのいくつかはすでに他のインターネット接続でビジー状態になっているはずです。 まあ、ポートは1つでいいんですけどね。 このポートにいくつのソケット接続が可能か? Yury Reshetov 2012.02.16 08:56 #64 sergeev: どの例外のことをおっしゃっているのですか? WS2_32.dllのことです。 通常のBerkeleyソケット(ただし非同期版)。そこに例外は見当たりませんでした。送受信を試みて初めてクラッシュを検出することができます。 まあ、ポートは1つでいいんですけどね。 このポートに接続できるソケットの数は? 接続は1ポートにつき1回のみです。クライアントが接続するためには、サーバーに割り当てられているIPとポート番号を知る必要があります。また、IPの代わりにドメイン名を指定すると、ソケットがDNSでIPアドレスに解決してくれます。 サーバーのソケットは、クライアントからの接続のために、まさにこのポート番号をリッスンします。クライアントが接続すると、ソケットは空きポートのプールから別のポートを与え、接続を維持する。その後、持続的なポートは再び解放され、他のクライアントからの接続を待ち受ける。 TCP/IPトランスポートプロトコルの接続はこうして行われる。これはすべてソケット層で行われます。つまり、プロトコルをプログラムする必要はなく、標準的なものであり、オペレーティングシステムの共有ライブラリにすでに組み込まれているのです。 Sergey Novokhatskiy 2012.02.16 09:35 #65 かいはつもの ファイル: kopir.zip 397 kb --- 2012.02.16 10:22 #66 Reshetov: クライアントが接続すると、ソケットは空きポートのプールから別のポートを 割り当て、恒久的に接続を維持する。Yuriさん、基本はありがとうございます、でも場違いです。 間違った知識を与えている そして、割り当てられたものは全くナンセンスです、すみません。 もしかしたら、2つの異なるハイポステーシスでポートコンセプトを適用しているかもしれませんが、それなら受け入れられたコンセプトで仕事をしたほうがいいですよね。 --- 2012.02.16 10:33 #67 SEVER11: かいはつもの ありえない。プロらしくない。 Yury Reshetov 2012.02.16 10:46 #68 sergeev: そして、ハイライトされたものはナンセンスです、すみません。 もしかしたら、ポートの概念を2つの異なる装いで適用しているのかもしれませんが、それなら受け入れられた概念で作業したほうがいいでしょう。 よく言われるように、ポートの概念をどう適用するかは、自分自身の問題なのです。TCP/IPプロトコルでポートがどのように使われるかを説明しただけです。繰り返しになりますが、このプロトコルは標準的なものであり、私が発明したものではありません。 私が発明したわけではありません。 がんばってください。 Mykola Demko 2012.02.16 10:52 #69 sergeev ネットワークの規模は、1000-1000、100-1000、10-1000、1-1000の順で、クライアントは何人くらいを想定しているのでしょうか。 なぜなら、あなたのサーバーは何千人ものクライアントで本当に倒産してしまうからです。 --- 2012.02.16 11:58 #70 Urain: ネットワークの規模は、1000-1000、100-1000、10-1000、1-1000の順で、クライアントは何人くらいを想定しているのでしょうか。 なぜなら、あなたのサーバーは何千ものクライアントで本当に倒産してしまうからです。 そこがポイントです。 総合的に考えようと思っています。もちろん、最初は拡張性を重視した入れ方をしなければなりません。つまり、1,000h分と同じだけの量をこなすことが目標です。しかも、後から使う人が数人しかいなくても問題ないのです。 だから今は、スピードとマイクロトラフィックとソケットのどちらかを選んで決めようとしています。またはhttpと情報の新しい部分のためのクライアントの一定の追跡上の多くのトラフィック。 123456789 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
OKです。 そこで、作業モデルとしてソケット接続を提案します。
Схема работы синхронизатора:
- サーバーは、クライアントとの永久的なソケット接続を作成します(各クライアントに独自のスレッドを割り当てる問題は、まだ検討中です)。
- マスタークライアントが、トレードイベント中に自分のオーダーの現在の状態を送信する。
- サーバーはこのファイルを保存し、他のすべてのクライアントに直ちに送信します(ソケット接続が既に確立されています)。
- クライアントがファイルを受信し、受信したデータに応じてオーダー状態を変更する場合
- また、新規クライアント接続時には、ウィザードの最後に保存されたファイルがクライアントに送信されます。(初期同期用)
このシステムの最大のメリットは、トラフィックの節約 にあります。
- クライアントから常に要求されることはありません。サーバーから受信可能な状態で受信します
- 同様に、マスタークライアントは、変更が検出されたときのみデータを送信します
接続損失時の保護
- クライアントは5秒ごとにハートビート・パケット(例:2バイト)を送信し、サーバーとの通信をチェックする。
- パケット送信が失敗した場合(アンサーなし)、クライアントは接続を再初期化します。
- サーバーも同様です。 10秒以内にクライアントから応答がない場合は、ソケット接続を終了する。
この接続によるデメリットはありますか?
- 例:使用可能なソケットの最大接続数は?
接続損失時の保護
- クライアントは5秒ごとに "ハートビート "パケット(例:2バイト)を送信し、サーバーとの通信をチェックする
TCP/IPトランスポートプロトコルで通信する場合は、ソケット層で、つまりオペレーティングシステムによって自動的に通信が維持されるため、このようなことは決して起こらない。接続が切断された場合、クライアントで例外がスローされ、そのハンドラはそのような場合に何をすべきか正確に指定する必要があります。サーバーとしては、クライアントが切断された場合、それはすでにクライアントの問題であるため、どうでもいいのです。
- 例:使用可能なソケットの最大接続数は?
接続が切断され、クライアントで例外が発生した場合、そのハンドラで例外を発生させる必要があります
どの例外のことをおっしゃっているのですか?
WS2_32.dllのことです。 通常のBerkeleyソケット(ただし非同期型)。そこに例外は見当たりませんでした。送受信を試みて初めてクラッシュを検出することができます。
このポートにいくつのソケット接続が可能か?
どの例外のことをおっしゃっているのですか?
まあ、ポートは1つでいいんですけどね。WS2_32.dllのことです。 通常のBerkeleyソケット(ただし非同期版)。そこに例外は見当たりませんでした。送受信を試みて初めてクラッシュを検出することができます。
このポートに接続できるソケットの数は?
接続は1ポートにつき1回のみです。クライアントが接続するためには、サーバーに割り当てられているIPとポート番号を知る必要があります。また、IPの代わりにドメイン名を指定すると、ソケットがDNSでIPアドレスに解決してくれます。
サーバーのソケットは、クライアントからの接続のために、まさにこのポート番号をリッスンします。クライアントが接続すると、ソケットは空きポートのプールから別のポートを与え、接続を維持する。その後、持続的なポートは再び解放され、他のクライアントからの接続を待ち受ける。
TCP/IPトランスポートプロトコルの接続はこうして行われる。これはすべてソケット層で行われます。つまり、プロトコルをプログラムする必要はなく、標準的なものであり、オペレーティングシステムの共有ライブラリにすでに組み込まれているのです。
クライアントが接続すると、ソケットは空きポートのプールから別のポートを 割り当て、恒久的に接続を維持する。
Yuriさん、基本はありがとうございます、でも場違いです。 間違った知識を与えている
そして、割り当てられたものは全くナンセンスです、すみません。 もしかしたら、2つの異なるハイポステーシスでポートコンセプトを適用しているかもしれませんが、それなら受け入れられたコンセプトで仕事をしたほうがいいですよね。
かいはつもの
ありえない。プロらしくない。
そして、ハイライトされたものはナンセンスです、すみません。 もしかしたら、ポートの概念を2つの異なる装いで適用しているのかもしれませんが、それなら受け入れられた概念で作業したほうがいいでしょう。
よく言われるように、ポートの概念をどう適用するかは、自分自身の問題なのです。TCP/IPプロトコルでポートがどのように使われるかを説明しただけです。繰り返しになりますが、このプロトコルは標準的なものであり、私が発明したものではありません。
私が発明したわけではありません。
がんばってください。
ネットワークの規模は、1000-1000、100-1000、10-1000、1-1000の順で、クライアントは何人くらいを想定しているのでしょうか。
なぜなら、あなたのサーバーは何千人ものクライアントで本当に倒産してしまうからです。
ネットワークの規模は、1000-1000、100-1000、10-1000、1-1000の順で、クライアントは何人くらいを想定しているのでしょうか。
なぜなら、あなたのサーバーは何千ものクライアントで本当に倒産してしまうからです。
そこがポイントです。 総合的に考えようと思っています。もちろん、最初は拡張性を重視した入れ方をしなければなりません。つまり、1,000h分と同じだけの量をこなすことが目標です。しかも、後から使う人が数人しかいなくても問題ないのです。
だから今は、スピードとマイクロトラフィックとソケットのどちらかを選んで決めようとしています。またはhttpと情報の新しい部分のためのクライアントの一定の追跡上の多くのトラフィック。