我正在尝试将端口侦听器实现为一项服务,在获取带有 te 数据的字符串后,它将执行插入数据库。我希望它在服务器上永远运行。
所以在我使用 Java Service Wrapper 之前,我想问一下我是否包装了正确的代码,所以这是我的代码,我愿意听听其他人是如何解决这个问题的。
现在我遇到了一个问题,我第一次发送数据时它工作得很好,但从第二次开始它什么也没做,希望你能帮助我。
public class PortToDB {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = null;
DBHandler handler = new DBHandler();
try{
serverSocket = new ServerSocket(50000);
} catch (IOException e){
System.err.println("Could not listen on port: 50000. Error: " + e);
System.exit(1);
}
Socket clientSocket = null;
try{
clientSocket = serverSocket.accept();
} catch(IOException e){
System.err.println("Accept failed. " + e);
System.exit(1);
}
//PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
String inputLine;
while(true){
while ((inputLine = in.readLine()) != null) {
//out.println(inputLine);
handler.dbInsert(inputLine);
}
}
}
}