[英]How send string from Netty server to socket client
我有一个简单的netty套接字服务器和带有标准套接字实现(没有netty)的简单客户端。 从客户端到服务器,我可以通过PrintWriter toServer = new PrintWriter(client.getOutputStream(), true);
发送字符串到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);
}
}
尝试这个:
ctx.channel().writeAndFlush(Unpooled.copiedBuffer(response.getBytes()));
让我知道是否可行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.