【发布时间】:2015-07-01 11:18:59
【问题描述】:
我有一个简单的 netty 套接字服务器和一个带有标准套接字实现的简单客户端(没有 netty)。从客户端到服务器,我可以通过PrintWriter toServer = new PrintWriter(client.getOutputStream(), true); 发送字符串
在客户端我有BufferedReader fromServer = new BufferedReader(new InputStreamReader(client.getInputStream()));。在服务器端我有这个代码
@Override
protected void channelRead0(ChannelHandlerContext ctx, String message) throws Exception {
String msg = message;
String response = "Response from server";
try {
System.out.println(msg);
System.out.flush();
ctx.writeAndFlush(response);
} finally {
ReferenceCountUtil.retain(msg);
}
}
但我无法从服务器读取客户端的任何字符串。如何以正确的方式将字符串从 netty 发送到客户端? 客户端:
toServer = new PrintWriter(client.getOutputStream(), true);
fromServer = new BufferedReader(new InputStreamReader(client.getInputStream()));
for (int i = 0; i < 6; i++) {
toServer.println("simple string: " + i);
if ((line = fromServer.readLine()) != null) {
System.out.println("Responce from server: " + line);
}
}
【问题讨论】: