İstemcinin sunucuya XML gönderdiği ve bunu PDF oluşturduğu ve bunu istemciye gönderdiği bir sunucu-istemci mimarisine sahibim. sunucu tarafında aradaBir Soketin Giriş Aktarımının Unmarshallingi Soketi kapatır mı?
JAXBElement<Xml> xml = ...
Socket sock = ...
Marshaller marshaller = ...
marshaller.marshal(xml, sock.getOutputStream());
sock.shutdownOuput();
: istemci tarafında
ServerSocket server = ...
Socket client = server.accept();
Unmarshaller unmarshaller = ...
// client.isClosed() -> false
JAXBElement<Xml> xml =
(JAXBElement<Xml>)) unmarshaller.unmarshall(client.getInputStream());
// client.isClosed() -> true
Pdf pdf = new Pdf(xml);
client.getOutputStream().write(pdf.toBytes());
// "socket is closed" IOException is thrown
Ben unmarshall yoksa müşterinin InputStream
(sunucu tarafında) ve sadece bir kukla geri göndermek PDF o zaman her şey yolunda gider. Yani, böylece örtülü olarak müşteri Socket
günümü mahvediyor ... Bu çözmeye
konusunda fikrin kapatan Unmarshaller
o verilen InputStream
kapatır varsaymak zorundayız?
teşekkür ederiz, senin çözüm cazibe gibi çalışır! :) –