Я пытаюсь написать клиент-серверное приложение на Java с использованием протокола на основе XML. Но у меня есть большая проблема!Как отправить данные XML через сокет InputStream
Смотрите эту часть кода клиента:
InputStream incoming = skt.getInputStream(); //I get Stream from Socket.
OutputStream out = skt.getOutputStream();
[...]
XMLSerializer serializer = new XMLSerializer();
//This create an XML document.
tosend = WUTPClientWriter.createMessage100(projectid, cpuclock, cpunumber);
serializer.setOutputByteStream(out);
serializer.serialize(tosend);
В этот момент сервер падения в тупик. Это ждать EOF, но я не могу отправить его, потому что, если я использую
out.close();
или
skt.shutdownOutput();
Я закрываю гнездо, и я должен держать эту связь в живых.
Я не могу отправить '\ 0' becouse Я получаю Parse Error на сервере.
Как я могу это сделать? Могу ли я «закрыть» выходной поток без закрытия сокета?
ПОСТАНОВИЛ Я создал новый класс XMLStreamOutput и XMLStreamInput с передовым потоком жестом.
Как вы можете сделать что? Вы на самом деле не описали, что происходит не так. Вы также не упомянули разбор, кроме как в заголовке ... –
Извините :(Однако проблема в том, что сервер зашел в тупик. Подождите, пока клиентский вход закрывается, но я не могу его закрыть. –