[英]How send string from Netty server to socket client
I have a simple netty socket server and simple client with standart socket implementation(no netty). 我有一个简单的netty套接字服务器和带有标准套接字实现(没有netty)的简单客户端。 from client to server I can send string via
PrintWriter toServer = new PrintWriter(client.getOutputStream(), true);
从客户端到服务器,我可以通过
PrintWriter toServer = new PrintWriter(client.getOutputStream(), true);
发送字符串到PrintWriter toServer = new PrintWriter(client.getOutputStream(), true);
and in client I have BufferedReader fromServer = new BufferedReader(new InputStreamReader(client.getInputStream()));
在客户端中,我有
BufferedReader fromServer = new BufferedReader(new InputStreamReader(client.getInputStream()));
. 。 in Server side I have this code
在服务器端,我有此代码
@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);
}
}
But I can't read any string in client side from server. 但是我无法从服务器读取客户端的任何字符串。 How I can send string from netty to client in right way?
如何以正确的方式将字符串从netty发送到客户端? client side:
客户端:
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);
}
}
Try this: 尝试这个:
ctx.channel().writeAndFlush(Unpooled.copiedBuffer(response.getBytes()));
Letme know if works. 让我知道是否可行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.