開発者は、説明:共通のアーキテクチャの最後の旅行やツアーサービスの手元側を

仕上げは、ほとんど温/知っていたウェイ・イ笑いを

手のツアーページのツアーとサービス終了の性質のツアーの最後には何の違いは、違いはゲームのタイプではありません。

タイプ1:カード、パルクールや他の弱い相互作用サーバー

カードパルクールクラスの弱いプレーヤーとプレーヤーの間には相互作用は、顔のPKに顔がリアルタイムではありませんので、以下のチャートにより算出された各他のオフラインデータを、ビート、小道具はそれほど頻繁に、単純なHTTPサーバーを使用して達成し、下に取引することができます。

QQのスクリーンショット20150923102806.png

クライアントサーバのUID、現在のタイムスタンプと同様に取得してクライアントに送信され、サーバの秘密鍵暗号鍵のハッシュ計算によると、非対称暗号化(RSA、DH)をログに記録するために使用することができます。その鍵で暗号化されたHTTPトラフィック、およびRC4の両方を使用した後。クライアントは、キーとそれ以降の通信のためにメモリに保存されたタイムスタンプを受け取った後、サーバは毎回、クライアントがuidとタイムスタンプサーバを渡すことができますので、キーを保存する必要はありませんし、その秘密鍵を算出します。TLSの行動を模倣することにより、複数のHTTP要求者のアイデンティティの間でその顧客を確保するため、およびタイムスタンプが同じ人は二度異なるキーにログインすることを保証します。

各ラウンドの開始時に、アクセスについて、データ要求のレベルについて、そしてそれはMySQLやMongoDBのに単一のデータベースで、正当な場合には、参照任意の賞を得るためにチェックし、最後に来る提出し、Redisのキャッシュバックエンドとして(オプション)。あなたは、通知を達成したい場合は、クライアントどのサーバーのポーリングタイマーは、30秒のように、彼はそれを取ったメッセージ、そうでない場合はメッセージがある場合することができます徐々にLENGTHENポーリング時間、15秒みましょう。メッセージがある場合、それは短縮ポーリング〜10時間であり、秒、5秒、でも2つのチャット場合、遅延は適応することができます。

ロジックは単純であるため、このような3台のサーバーがポリシーまたはクラスカードを実装し、ゲームをより十分すぎるほど持って実行している冷却するために使用される、このタイプのゲームは、プレイヤー間の相互作用は、その後、開発にHTTPを使用して強力ではありません、開発スピードは、デバッグにのみ必要ですブラウザあなたはデバッグロジックをクリアすることができます。

タイプ2:ゲームサーバ1978の第一世代

1980年のアクセスARPANETが外部プレーヤーの数に入社し、海外でも後に1978年に、有名な英国の金融大学エセックスの学校の生徒ロイ・トラブショウは、エセックス大学で、世界初のMUDプログラム「MUD1」を書きました選手。「MUD1」プログラムのソースコードは、MUDは、世界で広く普及していたもたらし、ARPANETを共有した後、多数の適応に登場しました。継続的改善の基礎MUD1は、オープンソースのMudOS(1991)、多くのオンラインゲームの発信元を生成します。

QQのスクリーンショット20150923102932.png

比較的強い相互作用(チャット、貿易、PK)はプレイヤーとプレイヤーの間があるので、C言語の開発を使用してMUDOSは、MUDOSは、すべてのプレイヤーにサービスを提供するために、非ブロッキングソケットをシングルスレッド、すべてのプレイヤーはに同じスレッドに要求を行いましたプロセスは、1秒毎にメインスレッドは、すべてのオブジェクト(オブジェクトを更新するためのネットワーク・トランシーバ、ステートマシン、プロセスがタイムアウト、地図の更新、リフレッシュNPC)を更新します。

ヨーロッパ初のオンラインゲームは、ダンジョンの迷路の形であるとして組織化され、部屋の形でゲームの世界では、各部屋には、隣の部屋に移動することができ四隅を持っているように知られているシーンの基本単位という「部屋。」MUDOSは、(部屋のトポロジ、設定、NPC、および様々なプロットを含む)全世界を記述するためにLPCと呼ばれるスクリプト言語を使用します。ゲーム内の上級プレイヤー(シャーマン)、我々はゲームのためにスクリプトを修正することによって、部屋を追加し、プロットを増加し続けることができます。ときにラインの早期MUD1だけで17室、ロイ・トラブショウ彼の若いリチャード・バトルに卒業した後は、リチャード・戦いの手の中に、MUDは最終的に繁栄、百以上の部屋を再生するために、さまざまなを追加し続けました。

テキストゲームを用いMUDOS TCPプロトコルに接続された端末とのTelnetクライアントのユーザ等は、各命令は、キャリッジリターンで分割されます。例えば、1995年中国初のMUDゲーム「騎士ライン」で、次のように入力します。「東行く」、ゲームがあなたを促すメッセージが表示されます:「バック庭 - ここでは、花でいっぱいトップコンフォートバックの庭、数Zhuangdingによって所有されていますしかし、ここでの唯一の出口はここから北のあるミモザ成長している土地の花があります:花はイマーム(ミュー)であることを、2 Zhuangding(荘鼎)」がある場合、あなたは言葉で作動し続けます、イマームのビュー:システム・プロンプトを「ムーを見て」:「花はイマーム(MU)であることが呂Chengfeng弟子たちは、拘留中に彼が30代に見えるこのミモザを注文している、それは繊細な機能です。 、直立と寛大な、才能と彼の武術ルックス[]は非常に高いものではない、非常に軽いショットは[]に思えました。」その後、ミモザは彼を倒す取得することを選択することができますが、ミモザが、5月中毒を食べます。資源の乏しい早いオンライン時には、このゲームは、置換の強い責任感を持っています。

ユーザーデータをテキストファイルからの各ユーザのログはユーザーに、ファイルに保存されているすべてのデータがにロードされ、すべての操作は、メモリ内部で行われ、すぐに戻ってディスクにブラシをかける必要はありません。データへの変更を確認するためのユーザー出口、または5分ごとにディスクに保存されます。一度ゲームでホスト4000人が、特に大きな問題ではないこと。各サーバーのようなシステム MUDOSからのWindowsの拡張グラフィックス性能を持つ新バージョンを、終了し、展開、世界中のすべての彼の改善のため、1991年にリリースしました。MUDOSに基づいて1997ゲーム「UO」は、X、Y座標の役割、各部屋用のマップの増加、および各文字のアニメーションの増加、グラフィカルなオンラインゲームの第一世代の形成を増加させます。

MUDOSも真の最初のサーバーエンジンになるように、基本的なゲームコンテンツは、LPCスクリプトによってカスタマイズすることができるため、エンジンが一回を開発し、その後、別のゲームコンテンツを作ります。このようなお部屋を追加するなど、直接MUDOSになりましたその多くは、その後の国内の「王の王」と他のゲーム、二次開発として「UO」、マップの座標を備えていますだけでなく、アーキテクチャの役割は、最初の国となっています世代MMORPGは2003年まで、固体支持体を提供しています、だけでなく、MUDOSの開発に基づくゲーム。

グラフィックの背後にいる間は、多くのことを増加したが、これらのバックエンドMMORPGまたはMUDOSの性質。ゲームコンテンツの複雑化によって、アーキテクチャはますます多くなりすぎて、さまざまな負荷の問題はそれほど私たちの第二世代のゲームサーバーで、ゆっくりと浮上しました。

タイプ3:ゲームサーバ2003の第二世代

2000年以降、オンラインゲームはグラフィックの入った、オリジナルのテキストMUDから離れていました。多数の小さなファイルは、組立ラインオフユーザーは、頻繁に読んでユーザデータが書き込まれているという事実を負担する最初は、負荷が増加している原因となります。オンラインゲームと増加データの数が増加すると、サーバーは、抗負担となります。同時に、早期EXTパーティションは、大規模なデータの損失になりやすい少しパワー、比較的弱いです。だから、最初のステップは、データベースに格納されたファイルを分割することです。

QQのスクリーンショット20150923103004.png

この時点でゲームは、独自の再開発、独自のゲームサーバーでのCから始まる、サービス終了MUDOS古いシステムの基準MUDOS構造の場合、各企業出てきました。そして、スクリプトはまた、LPC、代わりにPythonやLuaのを使用して、より良いスケーラビリティを放棄しています。単一スレッドを使用して、メインロジックモデルので、ゲーム内容として、従来の単一サーバーのさらなる構造がボトルネックになります。だから、人々は次のモデルとなり、ゲームの世界を分割し始めました。

QQのスクリーンショット20150923103026.png

ゲームサーバ分割誇りやす後ストレス、しかし、2つのゲームが同時にデータベース・サーバにアクセスし、リピート訪問の多くは、データベースは次のボトルネックになるために作る、大量のデータを交換します。メモリキャッシュのレベルを提供しつつ、フロントエンドプロキシデータベース(DBプロキシ)を形成する、ゲームサーバは直接、データベースにアクセスするために、プロキシ、プロキシにデータベースが、アクセスにアクセスしません。初期MySQL4ストアドプロシージャの前にある程度まで、一般的に、提供していない、フロントエンド・エージェントが同じテーブルで実行MYSQL、それは高度なデータ変換操作指示が送信され、ゲームサーバの代わりに、特定のデータベース格納された操作手順に分割します。

QQのスクリーンショット20150923103046.png

選手が多いシーンの切り替えは、接続中間状態を簡単に混乱スイッチしかし、この構成では、あまりにも長く続きません。人々はネットワーク機能、独立したサービスゲートウェイの門(セッションと呼ばれるいくつかの場所、名前のようにLinkSvrと呼ばれるいくつかの場所を分割するように複数のゲームサーバの後、互いの間のデータ交換は、多くの問題になるだろうそれは)異なっています:

QQのスクリーンショット20150923103146.png

ネットワークは、ユーザが統一ゲートウェイサーバに接続できるように、別々に抽出された特徴、及び、ゲートウェイサーバに転送データは、バックエンドサーバーのゲームにあります。ゲームサーバ間のデータのやり取りは、統合ネットワーク管理交換機に接続されています。隠された数字のゲームの種類や複雑さに応じて、各サービス5K-1ワットのためのゲームサーバに続く選手のゲームサービス、100万〜200万人にサービスを提供するゲートウェイのための基本的に安定したサーバのようなタイプは、異なっている、いない多くロギングや管理などの重要なサーバー、。これは、現在最も広く使用されている、と今日はもちろん、多くの新しいプロジェクトは、このような構造を構築するために来るモデルです。

人間は慣性を持って、これまでの経験によれば、より多くの、より良いパフォーマンスMUDOS分割を開いているようです。我々はそのようなチャットなどのインフラサービスを取引、分割ゲートウェイことができると思いますし続けるので、あなたはそれを分割することができ、また、Webインターフェイスを提供することができ、データベースには、次のモデルでそう、それを分割することができます:

QQのスクリーンショット20150923103208.png

このようなモデルは、それを使用するのは簡単ですか!私たちは、このゲームは、アーキテクチャを使用するように成功を持っている、そのようないくつかの大規模なMMORPGとして、その性能の利点を果たしました。しかし、2つの課題があります:1追加の各サーバーに対して、ステートマシンの複雑さが上昇し、研究開発費につながる、倍増でき、バグを見つけて、そして開発チームに挑戦することが比較的大きい、タイトな時間は、プロジェクトの開発者が経験不足たら、それは簡単でありハングを取得します。

例えば、私はこのアーキテクチャに取得するRPG上海のゲーム会社のラインナップを見てきました、私は、彼らのチームメンバーの経験を見て、次の行の日に彼らを尋ね、そしてフロントやや単純なモデルを使用するように説得します。プロジェクトの成功が行われていることは非常に自信を持って人々は、彼らがしなければならない、彼はセットを達成したかったです。彼らは年以上のプロジェクトを行うために、コーディングを開始することを躊躇して、それから、その後は何もありません。

6ヶ月以内に、今日のゲームの成功率は、そのようなライン上のあなたのゲームとして、投資に対するリターンを考慮する比較的複雑なアーキテクチャのニーズにスタート高くないでPCUはどのくらいに行くのだろうか?APRGゲーム、5000人に各サーバーでない場合は、近い実際の状況と構造を選択することは、より経済的です。あなたのプロジェクトが以上5000人が100万人の目標に向かって走っ本当に遅れている場合でも、私は徐々に再び繰り返すためにクラスを追加して、もう一度それを壊し、あなたのプロジェクトが大金されているとき、あなたはお金を数えることを信じて、私は私の心を信じて音楽が開花しています。

これらのタイプは、基本的には以上の解像度MUDOSからである分散から取り外すにステップによって単一工程でMUDOS個々のコンポーネントを起動します。しかし今日では、任意の上記と同様の構造の特定の種類を使用して新しいプロジェクトの数が、それは分割または他のホットモジュールはなかったが。彼らは分解のMUDOSに本質的であるため、それがゲームサーバーの第二世代のためにそれらを要約します。

タイプ4:第三世代のゲームサーバ2007

World of Warcraftのの初めから、過去のゲーマーはいくつかの手順にシーンを切り替えるには、さらに必要に行く比較し、シームレスな世界地図を得ている、各スイッチは、数十秒を待つことになる非常にLOADINGあるゲーム体験の事を弱体化させます。だから、2005年後の大規模なMMORPGのため、シームレスなマップは、標準的な構成となっています。ゲームの面でマップをカットするために、過去を比較するためによると、の唯一のサーバーとの契約上の誰もシームレスな世界地図、人々はありません。

QQのスクリーンショット20150923103233.png

NodeMaster(NM)で彼らのために全体的な管理を提供するために、マップエリアを管理する各ノードサーバ。世界のより高いレベルは、大陸レベルに管理サービスを提供します。いくつかの詳細は、ここに、このような従来のデータベースのフロントエンド、ログインサーバ、ログ記録と監視、ADMINでまとめたすべてのサーバーなどを省略しています。このような構造で、簡単な取っ手それを必要とするあるエリアから別のエリアにプレイヤー:

QQのスクリーンショット20150923103251.png

プレイヤ制御ノード1全体が、完全にプレイヤー3ノードBにより制御されます 一方、プレイヤ2の端部における2つのノード、一方AおよびBによって提供されるサービス プロセスにおけるBにAからプレーヤー2に移動すると、状況はまた、ケースB要求の右に、左にAを要求します。しかし、その後のプレーヤーはまだA 2の管理に属します。完全に遠くAB、Bが完全管理に引き渡された境界線を左までプレイヤー2。世界地図は、作品によって地域片にこのロジックに続いて、管理するために、別のノードに言及しました。

責任のNode領域については、地理的にそのような人々と本土の山々のエッジ部分の周りのブロックとして、一緒に接続されていない必要性が比較的小さく、管理するノードに統一することができ、これらのブロックは、地理的にではありません連絡先要一緒に。どのようなエンドブロック管理におけるノードは、リアルタイムで負荷のゲームに係る構成上NodeMasterを変更する際のタイミングを維持することができます。

最初に遭遇した問題は、多くのノードサーバとプレイヤーが通信する必要があるので、あなたは台湾Gateは、サーバーの問題により、シーンカットの前に、すべてのために一度尋ねていないところでどのくらいのプレーヤーで管理サーバーに固有のUIDを依頼する必要があります一方、ゲートに動的座標とノードの通信に基づいて算出し、ロジックで結果がそう、厚くなっている。これは、キャッシュされたが、今のサーバーの種類の数を増やすことができ、プレイヤーは、UIDの選手あまりにも面倒で検索浮かべますTo:次のモデルでその接続管理が不可欠を切り出すための責任GATEから「ユーザーオブジェクト」:

QQのスクリーンショット20150923103309.png

ゲートウェイサーバは、再度ネットワーク転送機能を合理化するために戻り、想定するOBJサーバで割ったユーザロジックUIDに従って、GATEは、配信へのネットワークアクセスの負荷に応じてあり、OBJは、分散されるべきリソースの数(UID)に従っています、およびユーザUID OBJに応じて、このような通信は、直接サーバIDにデータを送信する計算します。OBJの新しい独立したが、より高いレベルのサービスを提供しています。

  • オブジェクトモバイル:の管轄下にあるノードの特定の領域内の異なるプレイヤー間の移動を管理し、ノードのニーズと通信します。

  • データ放送:TAGのノードの複数のTAGに係るオブジェクトマスター放送通知を各ユーザに提供してもよく。

  • ニュースオブジェクト:ユーザにデータを送信し、一般的なニュースのプッシュを、OBJを伝え、直接GATEを処理する必要はありません。

  • 友達チャット:チャットが直接役割間のOBJ / OBJのMASTERを行きます。

サーバ全体は、3つの主要な分割された後、NODEはOBJがプレイヤオブジェクトを集中し、シーンに焦点を当て、GATEは、ネットワークに焦点を当てました。このモデルは、広くシームレスなシナリオサーバーで使用されています。時間が経つにつれてしかし、負荷の問題がアクティブになるように、ますます明らかになってきている、毎週のメンテナンスを調整することで、地域で非常に活発になるためにこれまで非アクティブことはとても動的な負荷分散と、かなり重いです。

二つの方法で動的負荷分散、最初のものは、負荷に応じて、マスターノードのタイミングは、以前の方法に従った一つのノードから別のノードに、各ノードの境界の動的運動、及び異なるプレイヤオブジェクトの移動を変更しています。

QQのスクリーンショット20150923103337.png

図11の動的負荷分散

このようなノードのマスタータイミングはその後、新しいカットシーンモードを計算し、マップ上のホットスポットを見つけ、他のサーバーを伝える調整するために始めた、または特定の治療法および上記の目的、国境を越えて移動するように。

しかし、この方法で達成することは、上記比較的複雑であるので、人々はよりシンプルを考案し、新しいアプローチを指示します:

QQのスクリーンショット20150923103401.png

動的な負荷分散図。12メッシュ

または均等標準サイズの静的グリッドに従って切断マップは、各グリッドは、他のノードに、リアルタイムの移行は、特定のノードの責任であるが、負荷に応じ。準備、完了するために、スイッチング:マイグレーションは3つのフェーズに分かれています。三つは、責任ノードのマスターのメンテナンスを述べています。新しいノードは、グリッドの古いノード上で準備段階の同期データを開始し、完了後にNMを伝え、同時に古いものと新しいノードがNMの確認OK後にスイッチを完了知らせます。それが完了すると、サーバーがまだのObjで、古いノードが通信する場合、それが修正される古いノードは、OBJは、彼自身の状態を修正する修正、および新しいノードが通信します。

多くのシームレスの動的な負荷は、このようなシステムは、ネットワーク帯域幅とクライアントのパフォーマンスの対象となるので、人の数に制限をサポートするために、それはMMORPGのゲームの最大数は本当に無制限の拡大ができることを意味するものではありませんサーバーの主張のバランスをとります。帯域幅は、同じ領域を放送の最大上限を決めるが、最終的にクライアントのパフォーマンスは、あなたが同じ画面を描画することができますどのように多くの文字を決定します。

開始するシームレスマップ分散オブジェクトモデルの導入から、完全にMUDOSシステムのうち、新しいサーバモデルとなっています。また、家屋より多くの世代のゲームサーバの回数上限の数よりも、シームレスなサーバが解き放たでき、動的な負荷分散の導入理由は、私たちはゲームサーバー・アーキテクチャの第三世代を呼び出して、より良いゲーム体験を提供します。初めのように多人数参加型ロールプレイングへのオンラインゲームは、RPGのゲームは一度ので、サーバーベースのMMORPGアーキテクチャの積極的な開発されていることを、長い時間のために90%以上を占めていますが、RPGや様々な非MMORPGのに疲れ選手と以下のようなゲームが市場に歓迎、人々の前で生まれ。

タイプ5:戦争ゲームサーバ

クラシックバトルネットワークRPGのゲームサーバーと2つの違いがあります。RPGは決してユーザーとの接触で、北京、広州エリアのサブサービス、ユーザ領域のパーティションです。各ゲーム内で一般的に8人ですが、サーバの唯一のセットがありますが、プレイヤーとプレイヤーのP2Pの方法を使用しているネットが、すべてのプレイヤーが一緒に遊ぶことができます戦争はゲームを形成するために一緒に接続されています。

QQのスクリーンショット20150923110305.png

マッチを作るのサーバー使用してプレイヤー:参加、作成、自動マッチングなどは、ゲームを作るために招待しました。Serverは、ホストを行うには、人を選ぶP2Pのプレイヤーがショットを呼び出す他の人に接続します。STUNは、ヘルプの選手であり、サーバ間でP2PをP2Pのトラクションを構築し、中国聯通の例のみ約75%ので、プレイヤーはフォワードによって転送されると、それは意味がありません。

接続されているゲームの多くは、アスレチックゲームは同様の構造を使用しています。P2Pメッシュモデル(すべてのプレイヤーが相互に接続されている)、そしてスターモデル(メインプレーヤーに接続されたすべての選手)。スターP2Pモデルは、歴史の試練に耐えたので、同じ状態で複雑なゲームは、メッシュモデルを形成することは困難です。削除ゲームデータ、音声、戦争ネットシステムはまた、すべてのユーザへの道バックを再エンコードすることにより、再ミックスに、ショットを呼び出すために、そのマシン上のすべてのプレーヤーの音声データを送信します。

陸上競技、スポーツ、アクションと根本的に異なる持っている、と強烈なゲーム(ARPG含む)ゲームベース、スローペースRPG他のタイプのバトルネットワークゲームは、必然的に、より複雑なマルチRPGの同期ポリシーにもたらすでしょうこのような同期メカニズムは、多くの場合、どこにでもブレーク今日では、どのようにそれの公正なゲームの結果を保証するために、直接クライアントによって計算試合結果の多くを、もたらしますか?

主な方法は、すべてのクライアントが独立に計算し、サーバーに渡され、投票方法です。結果は同じレコードが更新された場合の結果が矛盾している場合、最終的な結果を決定するために同様の投票がかかります。ゲームのドラマを記録しながら、すべての入力は、可能な場合には、オフィス全体の結果のためのゲームかどうか、他のアイドルゲームクライアントのチェックを見つけます。そして、多くの場合、運用担当者のタイトルのための参照を不正行為の疑いのあるユーザーを記録します。

タイプ6:カジュアルゲームサーバ

同様の戦いのネット​​ワーク・サーバとのカジュアルゲームは、地域の建築され、別のサーバールーム、ならびに特定のゲームサーバーがあり、ゲームはP2Pの選手にはもはや対象はありません実行しますが、専用のゲームサーバーへ:

1442977435693805.png

戦闘ネットワークアーキテクチャなどの領域から、ユーザデータがメモリにワンタイム負荷としてRPGパーティションのようにすることはできません、そして、直接メモリ内のコードを修正します。地域のアーキテクチャの下では、ユーザーに応じて異なるゲームデータ、ゲームデータとデータの統合、および文書データを区別する必要性を区別するためにいくつかのゲーム、ユーザーデータと基礎データのニーズを再生しながら。あなたは読み取りおよび書き込みデータトークンを提供する必要があるドキュメントのより一般的なタイプながら、ポイントのShengpingフークラスは、増分変化に直接トークンのみ書き込みを提出することができ、多くの作品があるトークンをお読みください。同じアカウントで、同時に2つのコンピュータ上で同じゲームをプレイすると、ゲームは、任意のユーザデータを操作することができ、最初の書き込みトークンを取得するために始めました。そして、ゲームは永遠に実行できることを保証するために、読み取り専用の方法で、ユーザデータのShengpingフー統合を提出することができる増分変化に加えて、ゲームを開始するが、ユーザー、ゲームデータのロックを促すメッセージが表示されます。

タイプ7:現代のアクションゲーム

韓国アクションゲームの黎明期以来、伝統的なネットワークバトルアクションゲームとRPGゲームが統合しようとし始めました。アクション+町モード:2の新世代を統合し始めたので、選手たちの激しい対立の多くの期待を満たすことができないし、シンプルでありながらスローペースRPGの戦闘退屈、シンプルなアクションゲームのプレイヤーは、疲れやすく、また高いので、RPGを保持しました。プレイヤーは町に集まり、その後、少数の人々はさまざまなタスクを完了するために、アクションRPGゲームをプレイするために外出の方法でコピーを開きます。RPGは基本的にサーバ+サーバのコピーです。文字のコピーが8人の中に制御することができるたびにあるので、あなたはプレイヤーがより容易に再生することができ、よりリアルタイムなゲーム体験を得ることができます。

彼は実際にゲームサーバーのように多くの種類の、我々は実際にはこれだけどのようなものであるか一緒に入れタイプのほとんど残り言いました。ゲームサーバは、自社開発モデルは同じままかどうか、構造で非常に多くの変化を経験してきましたか?従来の開発モードに従うことを続けるとは何ですか?以上の画期的な方法がありますか?アーキテクチャは、一般的なロジックの背後に存在するかどうか、非常に多くの時間を経験して変化しますか?存在し続ける、今後の開発の難しさは何ですか?ゲームサーバーの開発者はどのように反対側の最終的に到達するには?技術の進化:次のセクションを参照してください。

公開された49元の記事 ウォン称賛32 ビュー310 000 +

おすすめ

転載: blog.csdn.net/dianliang01/article/details/88792260