jSMSServer.java
上传用户:shunchung
上传日期:2013-04-07
资源大小:438k
文件大小:4k
源码类别:

手机短信编程

开发平台:

Java

  1. // jSMSEngine API.
  2. // An open-source API package for sending and receiving SMS via a GSM device.
  3. // Copyright (C) 2002-2006, Thanasis Delenikas, Athens/GREECE
  4. // Web Site: http://www.jsmsengine.org
  5. //
  6. // jSMSEngine is a package which can be used in order to add SMS processing
  7. // capabilities in an application. jSMSEngine is written in Java. It allows you
  8. // to communicate with a compatible mobile phone or GSM Modem, and
  9. // send / receive SMS messages.
  10. //
  11. // jSMSEngine is distributed under the LGPL license.
  12. //
  13. // This library is free software; you can redistribute it and/or
  14. // modify it under the terms of the GNU Lesser General Public
  15. // License as published by the Free Software Foundation; either
  16. // version 2.1 of the License, or (at your option) any later version.
  17. // This library is distributed in the hope that it will be useful,
  18. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  19. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  20. // Lesser General Public License for more details.
  21. // You should have received a copy of the GNU Lesser General Public
  22. // License along with this library; if not, write to the Free Software
  23. // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  24. //
  25. //
  26. // jSMSServer GUI Application.
  27. // This application is based on the old jSMSServer GUI, and provides a general purpose
  28. // graphical interface. It can be used for a quick-start, if you don't want
  29. // to mess around with the API itself.
  30. // Please read jSMSServer.txt for further information.
  31. //
  32. import java.io.*;
  33. import java.util.*;
  34. import java.awt.*;
  35. import java.awt.event.*;
  36. import java.awt.geom.*;
  37. import javax.swing.*;
  38. import javax.swing.event.*;
  39. import org.jsmsengine.*;
  40. class jSMSServer extends Thread
  41. {
  42. private CSettings settings;
  43. private CMainWindow mainWindow;
  44. private CMainThread service;
  45. public void initialize() throws Exception
  46. {
  47. settings = new CSettings();
  48. settings.loadConfiguration();
  49. if (settings.getGeneralSettings().getGui())
  50. {
  51. mainWindow = new CMainWindow(this, settings);
  52. mainWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  53. mainWindow.setVisible(true);
  54. service = new CUserThread(this, mainWindow, settings);
  55. mainWindow.setRawInLog(settings.getGeneralSettings().isRawInLogEnabled());
  56. mainWindow.setRawOutLog(settings.getGeneralSettings().isRawOutLogEnabled());
  57. mainWindow.setInterfaceXML((settings.getPhoneSettings().getXmlInQueue() != null) || (settings.getPhoneSettings().getXmlOutQueue() != null));
  58. mainWindow.setInterfaceDB(settings.getDatabaseSettings().getEnabled());
  59. }
  60. else
  61. {
  62. mainWindow = null;
  63. System.out.println(stripHtml(CConstants.ABOUT_VERSION));
  64. System.out.println(stripHtml(CConstants.ABOUT_BY));
  65. System.out.println(stripHtml(CConstants.ABOUT_WEBPAGE));
  66. System.out.println(stripHtml(CConstants.ABOUT_OTHER));
  67. System.out.println("");
  68. System.out.println(CConstants.TEXT_CONSOLE);
  69. System.out.println("");
  70. service = new CUserThread(this, null, settings);
  71. service.initialize();
  72. service.connect(true);
  73. }
  74. Runtime.getRuntime().addShutdownHook(new CShutdown());
  75. }
  76. public void run()
  77. {
  78. while (true) try { sleep(5000); } catch (Exception e) {}
  79. }
  80. public class CShutdown extends Thread
  81. {
  82. CMainThread mobile;
  83. public void run()
  84. {
  85. }
  86. }
  87. public String stripHtml(String s)
  88. {
  89. String o;
  90. o = s.replace("<html>", "");
  91. o = o.replace("</html>", "");
  92. o = o.replace("<b>", "");
  93. o = o.replace("</b>", "");
  94. o = o.replace("<h1>", "");
  95. o = o.replace("</h1>", "");
  96. o = o.replace("<br>", "");
  97. return o;
  98. }
  99. public static void main(String[] args)
  100. {
  101. try
  102. {
  103. jSMSServer app = new jSMSServer();
  104. app.initialize();
  105. app.setPriority(MIN_PRIORITY);
  106. app.start();
  107. }
  108. catch (Exception e)
  109. {
  110. e.printStackTrace();
  111. }
  112. }
  113. }