|
演示三:用 Java 开发 Windows NT 服务
工具:将 Jar 文件转换为 Exe 可执行文件。
第一部分:使用 Java 开发并生成 .jar 文件
1. 编写文件 D:\test\HelloService.java:
演示功能为:侦听一个端口,以1234为例,接受到请求后开启新线程处理服务。服务内容为:把 socket 收到的内容直接反馈回客户端。直到收到 'q' 服务结束:
package test;
import java.io.*;
import java.net.*;
public class HelloService implements Runnable
{
// 私有 socket 变量
private Socket m_sock;
// 构造函数
public HelloService(Socket sock)
{
m_sock = sock;
}
// Runnable 接口函数
public void run()
{
try
{
BufferedReader in = new BufferedReader(
new InputStreamReader(m_sock.getInputStream())
);
PrintWriter out = new PrintWriter(
m_sock.getOutputStream()
);
// 欢迎信息
out.println("---- Welcome! Type 'q' to EXIT: ----");
out.flush();
// 将客户端信息直接返回,直到 'q'
String line;
while( (line = in.readLine()) != null )
{
if( line.equalsIgnoreCase("q") )
break;
out.println(line);
out.println();
out.flush();
}
// 关闭 socket 退出线程
m_sock.close();
}
catch(Exception e)
{
e.printStackTrace(System.err);
}
}
public static void main(String[] args) throws Exception
{
// 开始侦听,以 1234 为例
ServerSocket listen = new ServerSocket(1234);
while(true)
{
// 接受客户端
Socket socket = listen.accept();
// 开启单独的线程
Thread thread = new Thread(new HelloService(socket));
thread.start();
}
}
} |
2. 编译,得到 HelloService.class 文件。
D:\>javac -target 1.2 test/HelloService.java |
3. 使用 jar.exe 工具生成 service.jar 文件
D:\>jar cvf service.jar test/HelloService.class |
第二部分:使用本站提供的工具生成文件 .exe 文件
1. 下载并安装本站免费提供的工具:
[免费版下载页]
2. 选择 jar 文件,然后点击下一步:
3. 选择应用程序类型。选择 “Windows NT Service”:
4. 输入带有 main 方法的启动类名,以及 NT 服务名:
5. 输入要生成的 Exe 文件名:
6. 点击下一步,即可得到生成的 exe 文件。
第三部分:运行生成的 Exe 文件
1. Windows NT 服务的安装和启动:
2. 服务的访问。使用 telnet 工具来进行测试:
D:\>telnet localhost 1234 |
3. 服务的停止和卸载:
4. 在控制台测试运行服务:
在控制台运行服务已成功,同样可以通过 telnet 进行测试。
5. 下载本例中的示例代码和示例结果:
[service.zip] - 15kb
更多演示:
演示一:如何用 Java 开发并生成一个 控制台程序?
演示二:如何用 Java 开发并生成一个 Windows 窗口程序?
演示四:支持“暂停/继续”的 Windows NT 服务运行?
演示五:系统任务栏图标和系统日志
|
|
|