【发布时间】:2012-08-04 21:26:48
【问题描述】:
我用ServerSocket.accept() 等待客户,然后像这样处理:
val in = new BufferedReader(new InputStreamReader(socket.getInputStream()))
var line = in.readLine()
while (line != null) {
//...
line = in.readLine()
}
我如何知道客户端发送完标头以便发送响应?
我的意思是这些标题:
GET /mychat HTTP/1.1 主机:server.example.com 升级:websocket 连接:升级 Sec-WebSocket-Key:x3JJHMbDL1EzLkh9GBhXDw== Sec-WebSocket-Protocol:聊天 Sec-WebSocket-版本:13 来源:http://example.com
如所述:http://en.wikipedia.org/wiki/WebSocket
我试过了:
if (line.contains("\r\n")) {
println("1")
}
if (line.contains("\r")) {
println("2")
}
if (line.contains("\n")) {
println("3")
}
但它不起作用......
有效的是line.isEmpty()。但这很奇怪,因为流应该包含一些东西并且所有的包含都返回 false...
【问题讨论】: