Stream.continually
kehrt leer String wenn in.readLine
länger dauert als 1 minute
Stream-Kontinuierlich liest nur für 1 Minute
val f = SSLSocketFactory.getDefault.asInstanceOf[SSLSocketFactory]
val s = f.createSocket(ip, port).asInstanceOf[SSLSocket]
s.startHandshake()
s.setTcpNoDelay(true)
val out = new BufferedWriter(new OutputStreamWriter(s.getOutputStream))
val in = new BufferedReader(new InputStreamReader(s.getInputStream))
val in = new BufferedReader(new InputStreamReader(s.getInputStream))
Stream.continually(in.readLine()).takeWhile(_ != null).mkString
Warum geschieht das?
Kann ich dies mit einer Eigenschaft ändern.
Ich habe die gesamte Stream-Dokumentation durchgesehen, aber ich denke, dass mir etwas fehlen könnte.
Ich habe auch versucht, das Hinzufügen s.setSoTimeout(300000)
Auch las ich die offizielle Dokumentation für SSLSocketFactory
aber keinen Standard TimeOut finden kann. Auch fand nicht für SSLSocket
FAZIT (nach diesen Fehler debuggen)
Das hat nichts mit Strom zu tun. Es hat auch nichts mit SSLSocketFactory
oder SSLSocket
zu tun. Es war ein Timeout-Problem im Proxy. Ich habe alles falsch verstanden.
Was ist 's'? Ein etwas vollständigeres Beispiel wäre einfacher auszuprobieren. –
@Michael, Ich habe den kompletten Code hinzugefügt – orange14
Ich glaube nicht, dass es ein 'Stream' Problem ist. Wenn Sie 'Stream.continually (io.StdIn.readLine) ...' von der REPL aufrufen, wird es unbegrenzt warten. – jwvh