nik*_*kos 1 java network-programming
我正在用Java编写服务器应用程序.要从套接字读取我有:
line = in.readLine();
Run Code Online (Sandbox Code Playgroud)
where in是一个BufferReader实例,所以我可以从套接字流中读取字符串.
我怎样才能改变这一点,将我的程序用于非面向行的协议,其中每个应用程序级消息的结尾都被一个特殊的charachter终止,例如%,而不是换行符号?
read()在循环中使用该方法,直到字符为止%.在每个角色,将其附加到StringBuilder.
StringBuilder builder = new StringBuilder();
for (int i = reader.read(); i >= 0; i = reader.read()) {
char c = (char) i;
if (c == '%') {
break; // or consume the current builder, and recreate a new one
}
else {
builder.append(c);
}
}
Run Code Online (Sandbox Code Playgroud)