我等待客户,ServerSocket.accept()
然后像这样处理:
val in = new BufferedReader(new InputStreamReader(socket.getInputStream()))
var line = in.readLine()
while (line != null) {
//...
line = in.readLine()
}
我如何知道客户端已完成发送标头以便发送响应?
具体来说,我的意思是这些标题:
获取 /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 ......