私の最初のサーバープログラム 現在、オンラインゲームの書き方を学んでいるので、サーバーサイドのプログラムを書く必要があります。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 を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
場合によっては、ページにプロンプト ボックスやバブル ボックスが必要になることがあります。CSS...
この記事では、小数点付きの星評価を実装するためのVueの具体的なコードを参考までに共有します。具体的...
InnoDB REDO ログ ファイルのサイズと数を調整する場合は、次の手順に従います。 1. My...
1. はじめにこの記事では、Docker を使用して Redis を探索する方法を説明します。 Do...
目次1. 問題を発見する2.重複したデータを残さずにすべて削除する3. 削除テーブルから重複データを...
まず、セキュリティ上の理由から、JavaScript はローカル リソース ファイルに直接アクセスで...
序文最近、仕事でいくつかの問題が発生しました。crontab でスケジュールされたタスクが実行されま...
外部 CSS ファイルを使用したレンダリング パイプライン上図では、HTML データの要求から DO...
インストール時間を節約するために、公式の mysql docker イメージを使用して mysql ...
実際には、対応する記述方法は多数ありますが、最も一般的なのは object + embedded で...
この記事では、VMware Workstation14 ProにUbuntu 16.04をインストー...
ここで言及されている SSH は Security Shell と呼ばれます。Linux をよく使用...
この記事の例では、セカンダリメニュー効果を実現するためのJSの具体的なコードを参考までに共有していま...
目次レムフォルクスワーゲンサードパーティのUIフレームワークに適応する結論モバイル開発における最も一...
WSLとはBaidu 百科事典からの一節を引用します。 Windows Subsystem for ...