私の最初のサーバープログラム 現在、オンラインゲームの書き方を学んでいるので、サーバーサイドのプログラムを書く必要があります。PHP、JAVA、C などを調べました。最終的に、Alibaba Cloud や Tencent Cloud との互換性、低コスト、学習難易度の低さから Java を選択しました。 次に、Java クラスの記述方法を学び始めます。また、データベースに接続する方法と、数秒ごとにコードを実行する方法についても説明します。結局のところ、これら 2 つを組み合わせると、最もシンプルなサーバーになります。 私の最初のプログラムは非常にシンプルです。Tomcat が起動すると、6 秒ごとに実行され、一連の乱数を生成して MySQL データベースに送信します。 データベースへの書き込みとタイミング操作については、以前の記事で紹介しました。 そこで、この記事では主に自動起動する方法を紹介します。 既存のコード: 1. メイン関数: mainGame.java (ゲームを開始する関数) 2. フレーム実行クラス: gameEnterFrame.java (ループ実行を担当します。2 秒ごとに 1 回実行し、その数値をデータベースに書き込むように設定しました。) セルフスタートには重要なポイントが 2 つあります。 1. web.xmlという設定ファイルを変更する必要があります webRoot の下の WEB-INF 内。 残念ながら、私のものと同じパスがない場合は、間違ったプロジェクト タイプを作成したことになります。 新しい Web サーバー プロジェクトを作成することを忘れないでください。 このファイルに 3 行のコードを追加するだけで、autoRun という名前の自動開始クラスを実行することを Tomcat に指示できます。下の図のように青い部分が私が追加したコードです。 便宜上、ここに貼り付けてください。 <リスナー> <リスナークラス>game.autoRun</リスナークラス> </リスナー> この監視ステートメントを使用すると、実行時にゲーム パッケージ (ゲーム パッケージは私が独自に作成したゲーム クラス パッケージです。お好きなパッケージ名を作成できます) の下の autoRun クラスを実行できます。この autoRun クラスは私が書いた自動起動コードです。 具体的な書き方は以下を参照してください。 2. 自己起動コードの書き方: メイン関数につながる自己開始コードが必要です。ゲームパッケージの下にautoRun.javaという名前の新しいファイルを作成します。 パッケージゲーム; import javax.servlet.ServletContextEvent; //これは、自己起動のサーバー バックグラウンド イベントに使用されるクラスです。 import javax.servlet.ServletContextListener; //これは、自己起動のサーバー バックグラウンド リスニングに使用されるクラスです。 import game.mainGame; //簡単に実行できるように、main 関数をインポートします。 //autoRun クラスを宣言し、サーバー バックグラウンド リスニング インターフェイスを使用します。固定使用法、暗記 public class autoRun implements ServletContextListener { //バックエンドが初期化されるとき、つまりTomcatの起動イベントが発生すると、使用法が固定されます。public void contextInitialized(ServletContextEvent arg0){ //ここで実行する必要があることを記述しますSystem.out.println("MainFunction が実行中です。"); mainGame.main(null); } //バックエンドが破棄される、つまりTomcatが閉じられる場合、使用法は固定です。public void contextDestroyed(ServletContextEvent arg0){ //ここに実行内容を記述します} } ご覧のとおり、Tomcat の起動とシャットダウンの状態を監視する部分は 2 つあります。
もちろん、閉鎖されており、今すぐに何か行動を起こす必要はありません。起動後にゲームのメイン機能を実行するだけです。そこで、メイン関数をスタートアップに配置しました。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
Web ページの制作では、要素の表示と非表示は非常に一般的な要件です。この記事では、要素を表示したり...
序文MySQL に精通している読者は、MySQL が非常に迅速に更新されることに気付くかもしれません...
MySQL_8.0.2のオフラインインストール方法は参考までに。具体的な内容は以下のとおりです。次の...
実は、最近はウェブデザインについてよく耳にするようになりました。インターネット業界は今とても発展して...
VirtualBoxのHost Only+NATモードのネットワーク構成は参考用です。具体的な内容は...
先ほど MySQL パスワードを設定したのに、外食したり荷物を受け取ったりするときにパスワードを忘れ...
スプライト:以前は、各画像リソースは独立した画像でした。ブラウザが Web サイト内のさまざまな W...
問題を見つける最近、プログラムのストレージを Mongodb に移行したところ、Guid 型が書き込...
html、アドレス、引用ブロック、本文、dd、div、 dl、dt、フィールドセット、フォーム、フレ...
1. リストシンボルを設定するlist-style-type: attribute; //リストの...
次のコマンドを使用して、MySQL Serverがインストールされているかどうかを確認します。 [r...
目次概要グローバルフック関数ルーティング固有のフック関数コンポーネント内のフック関数概要ルートガード...
背景色の点滅効果を実現するには、次のコードを <body> 領域に追加するだけです。コー...
実際には、対応する記述方法は多数ありますが、最も一般的なのは object + embedded で...
目次1. ローカルストレージを構築する2. npmパッケージを作成し、プライベートリポジトリにアップ...