Я создал клиент-серверную программу, которая может отправлять файлы с моего устройства Android на мои Windows 7, серверная программа (windows) прослушивает цикл и реагирует на прием сокетов.
Итак, я экспортировалмоя java программа для jar файла, и я выполнил следующую команду (после открытия cmd от имени администратора), чтобы сделать ее службой:
prunsrv //IS//Colisage --DisplayName="Colisage" --Description="Colisage" --Install="C:\Pda\prunsrv.exe" --Jvm="C:\Program Files\Java\jdk1.8.0_161\jre\bin\server\jvm.dll" --StartMode=jvm --StopMode=jvm --Startup=auto* --Classpath="C:\Pda\colisage.jar" --LogLevel=DEBUG^ --LogPath="%cd%\logs" --LogPrefix=procrun.log --StdOutput="%cd%\logs\stdout.log" --StdError="%cd%\logs\stderr.log"
служба была создана и выполнена правильно.
Эточто показывает файл procrun.log:
[2018-06-07 16:04:12] [debug] ( prunsrv.c:1729) [ 3708] Commons Daemon procrun log initialized
[2018-06-07 16:04:12] [info] ( prunsrv.c:1733) [ 3708] Commons Daemon procrun (1.1.0.0 64-bit) started
[2018-06-07 16:04:12] [debug] ( prunsrv.c:602 ) [ 3708] Installing service...
[2018-06-07 16:04:12] [info] ( prunsrv.c:641 ) [ 3708] Service Colisage name Colisage
[2018-06-07 16:04:12] [debug] ( prunsrv.c:657 ) [ 3708] Setting service description Colisage
[2018-06-07 16:04:12] [info] ( prunsrv.c:675 ) [ 3708] Service 'Colisage' installed
[2018-06-07 16:04:12] [info] ( prunsrv.c:1814) [ 3708] Commons Daemon procrun finished
[2018-06-07 16:04:53] [debug] ( prunsrv.c:1729) [ 2116] Commons Daemon procrun log initialized
[2018-06-07 16:04:53] [info] ( prunsrv.c:1733) [ 2116] Commons Daemon procrun (1.1.0.0 64-bit) started
[2018-06-07 16:04:53] [info] ( prunsrv.c:1643) [ 2116] Running 'Colisage' Service...
[2018-06-07 16:04:53] [debug] ( prunsrv.c:1417) [ 1120] Inside ServiceMain...
[2018-06-07 16:04:53] [debug] ( prunsrv.c:885 ) [ 1120] reportServiceStatusE: dwCurrentState = 2, dwWin32ExitCode = 0, dwWaitHint = 3000, dwServiceSpecificExitCode = 0
[2018-06-07 16:04:53] [info] ( prunsrv.c:1175) [ 1120] Starting service...
[2018-06-07 16:04:53] [debug] ( javajni.c:236 ) [ 1120] loading jvm 'C:\Program Files\Java\jdk1.8.0_161\jre\bin\server\jvm.dll'
[2018-06-07 16:04:53] [debug] ( javajni.c:753 ) [ 4208] Jvm Option[0] -Djava.class.path=C:\Pda\colisage.jar
[2018-06-07 16:04:53] [debug] ( javajni.c:753 ) [ 4208] Jvm Option[1] exit
[2018-06-07 16:04:53] [debug] ( javajni.c:753 ) [ 4208] Jvm Option[2] abort
[2018-06-07 16:04:53] [debug] ( javajni.c:990 ) [ 4208] Java Worker thread started Main:main
[2018-06-07 16:04:54] [debug] ( prunsrv.c:1235) [ 1120] Java started Main
[2018-06-07 16:04:54] [info] ( prunsrv.c:1333) [ 1120] Service started in 1284 ms.
[2018-06-07 16:04:54] [debug] ( prunsrv.c:885 ) [ 1120] reportServiceStatusE: dwCurrentState = 4, dwWin32ExitCode = 0, dwWaitHint = 0, dwServiceSpecificExitCode = 0
[2018-06-07 16:04:54] [debug] ( prunsrv.c:1572) [ 1120] Waiting for worker to finish...
файл stdout.log:
connection attempt ..
successfully connected
waiting on port 11845 ...
Что соответствует тому, что должно отображать мою программу в начале, вот частьjava-программа, которая нас интересует:
System.out.println ("waiting on port" + String.valueOf (port) + "...");
clientSocket = serverSocket.accept ();
System.out.println ("Receiving the request");
, чтобы подвести итог, когда я запускаю свою java-программу либо в eclipse, либо в jar, она запускается полностью и корректно принимает файлы, в то время как мой сервис выполняет только начало,я не получаю розетки.
заранее благодарю за помощь