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