Java ServersSocket закрывается после прочтения

Я пытаюсь и не удается создать мост между PHP а также Java, С моим методом, это работает, чтобы отправить одну строку, но сервер закрывается после чтения данных.

Это мой класс в Java:

public class Server {

private static BufferedReader inputstream;
private static BufferedWriter outputstream;
private static ServerSocket server;

public static void main(String[] args){
System.out.println("Server gestartet");
createServer();
}

private static void createServer() {
try {
server = new ServerSocket(6666);
Socket client = server.accept();
inputstream = new BufferedReader(new InputStreamReader(client.getInputStream()));
outputstream = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));

String temp = null;

while((temp = inputstream.readLine()) != null){
System.out.println(temp);
}

} catch (IOException e) {
e.printStackTrace();
}

try {
inputstream.close();
outputstream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

И вот как я отправляю строку из PHP:

<?php
$socket = fsockopen('localhost', 6666, $errno, $errstr, 30);

if(!$socket){
echo("$errno <br> $errstr");
}

fwrite($socket, "Hello its me\n");
fclose($socket);
?>

Заранее большое спасибо, надеюсь вы мне поможете 🙂

1

Решение

Вы должны зациклить server.accept () в своем коде Java.

В вашем Java-коде вы принимаете клиентское соединение один раз, читаете входящие данные и все, ваше приложение заканчивается.

Вы можете принимать новые соединения в цикле и обрабатывать данные в выделенных потоках.
Также рассмотрите возможность использования try с ресурсами для ваших потоков.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]