Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 流仅持续读取1分钟_Scala_Stream_Bufferedreader - Fatal编程技术网

Scala 流仅持续读取1分钟

Scala 流仅持续读取1分钟,scala,stream,bufferedreader,Scala,Stream,Bufferedreader,Stream.continuously如果.readLine中的花费的时间超过1分钟,则返回空字符串 val f = SSLSocketFactory.getDefault.asInstanceOf[SSLSocketFactory] val s = f.createSocket(ip, port).asInstanceOf[SSLSocket] s.startHandshake() s.setTcpNoDelay(true) val out = new BufferedWriter(ne

Stream.continuously
如果.readLine中的
花费的时间超过
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
为什么会发生这种情况

我可以用一些属性来改变这个吗

我已经浏览了整个流文档,但我想我可能遗漏了一些东西

我还尝试添加了
s.setSoTimeout(300000)
我还阅读了
SSLSocketFactory
的官方文档,但找不到任何默认超时。也找不到
SSLSocket


结论(调试此错误后)


这与流无关。它与
SSLSocketFactory
SSLSocket
也没有任何关系。这是代理中的超时问题。我完全搞错了

这实际上与
无关。尝试从代码中提取

val ip = "74.125.141.147" // google
val port = 443

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))

println {
  in.readLine()
}
这最终会打印出
null
,就像它应该打印的那样(我想当遥控器厌烦并挂断时)


发生的情况是,给定一个空序列,
mkString
,将生成一个空字符串。

什么是
s
?一个更完整的例子会更容易尝试。@Michael,我已经添加了完整的代码。我认为这不是一个
流问题。如果您从REPL调用
Stream.continuously(io.StdIn.readLine).
,它将无限期地等待。@jwvh您认为这与SSLSocket有什么关系吗?