【问题标题】:How send string from Netty server to socket client如何将字符串从 Netty 服务器发送到套接字客户端
【发布时间】: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);
    }
}

【问题讨论】:

    标签: java sockets netty


    【解决方案1】:

    试试这个:

    ctx.channel().writeAndFlush(Unpooled.copiedBuffer(response.getBytes()));
    

    让我知道是否有效。

    【讨论】:

      猜你喜欢
      • 2013-04-01
      • 2017-02-18
      • 2016-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-02
      • 1970-01-01
      • 2020-06-01
      相关资源
      最近更新 更多