Stream.continually
返回空,如果in.readLine
時間超過1 minute
流不斷只讀取1分鐘
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
長爲什麼會出現這種情況?
我可以改變這與一些財產。
我已經瀏覽了整個Stream文檔,但我想我可能會錯過一些東西。
我也嘗試加入s.setSoTimeout(300000)
另外我讀了SSLSocketFactory
的官方文檔,但找不到任何默認的TimeOut。還沒有找到SSLSocket
結論(後調試這個錯誤)
這有什麼好做流。它也不與SSLSocketFactory
或SSLSocket
有任何關係。這是代理中的超時問題。我弄錯了。
's'是什麼?一個更完整的例子會更容易嘗試。 –
@Michael,我添加了完整的代碼 – orange14
我不認爲這是一個'Stream'問題。如果從REPL調用Stream.continually(io.StdIn.readLine)...',它將無限期地等待。 – jwvh