【初心者】Java質問・相談スレッド72【大歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0188デフォルトの名無しさん
2005/09/28(水) 14:26:47アプリケーションの二重起動を防止したくていろいろ調べたんですが、大体以下の2つの方法があるみたいです。
1.ロックファイル作成→起動時にファイルの有無を判断
2.使用しないポートでSocketを作成し、接続→当該ポートへの接続可否を判断
で、2の方法を採ることにしたんですが、エラーが出る場合と出ない場合があり、困っています。
Socketは接続時間の制限などがあるのでしょうか?
コードを載せておきますので、何かアドバイスがあったらお願いします。
public static void main(String args[]){
if (appliLockCheck()){
MainMenu mainmenu = new MainMenu();
}else{
System.exit(0);
}
}
public boolean appliLockCheck(){
try {
ServerSocket socket = new ServerSocket(3776);
}catch (BindException exception){
System.out.println("プログラムは既に開始されています。");
return false;
}catch (Exception exception){
exception.printStackTrace();
System.out.println("プログラムは既に開始されています。");
return false;
}
return true;
}
■ このスレッドは過去ログ倉庫に格納されています