下面的示例内容是创建了两个客户端,以NetAssist作为服务端,服务端向哪个客户端发信息,哪个客户端就把自己的IP地址返回给服务端

1.首先创建一个InboundHandler,来处理输入进来的信息

public class MyClientHandler1 extends ChannelInboundHandlerAdapter {@Overridepublic void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {ByteBuf bb = (ByteBuf) msg;int len = bb.readableBytes();byte[] bytes = new byte[len];bb.readBytes(bytes);System.out.println("读到的内容:" + new String(bytes, "utf-8"));String result = ctx.channel().localAddress().toString();ByteBuf rr = Unpooled.copiedBuffer(result.getBytes());ctx.writeAndFlush(rr);}
}

2.创建一个客户端,启动main方法

public class TestClient1 {public static void main(String[] args) throws InterruptedException {EventLoopGroup group = new NioEventLoopGroup();Bootstrap b = new Bootstrap();b.group(group).channel(NioSocketChannel.class).handler(new MyClientHandler1());ChannelFuture f = b.connect("127.0.0.1", 9999).sync();f.channel().closeFuture().sync();}
}

3.再创建一个客户端,也启动main方法

public class TestClient2 {public static void main(String[] args) throws InterruptedException {EventLoopGroup group = new NioEventLoopGroup();Bootstrap b = new Bootstrap();b.group(group).channel(NioSocketChannel.class).handler(new MyClientHandler1());ChannelFuture f = b.connect("127.0.0.1", 9999).sync();f.channel().closeFuture().sync();}
}

使用网络助手作为服务端进行调试,将客户端选择1图所示,点击发送,会返回1图连接的客户端地址,客户端选择2图所示,点击发送,会返回2图连接的客户端地址

其实和之前的文章没什么太大区别,只不过这是客户端,之前的是服务端,值得一提的是文章并没有演示客户端连接服务端的时候,客户端先发送到服务端,因为和之前的文章是一样的,可以直接从active方法中进行这一操作

Netty-5-客户端的创建并且接受服务端的数据相关推荐

  1. Netty的Socket编程详解-搭建服务端与客户端并进行数据传输

    场景 Netty在IDEA中搭建HelloWorld服务端并对Netty执行流程与重要组件进行介绍: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article ...

  2. Android 客户端与服务端的数据交互问题

    Android客户端是如何与服务端的数据进行交互的呢? 一般就是客户端向服务端发送请求,服务端对数据进行相关处理,返回json数据返回给客户端,客户端再进行相关操作. 说明:主要是用登录功能来进行详解 ...

  3. 编写Java程序,使用 Socket类模拟用户加入 QQ 群时,QQ 小冰发送欢迎消息的场景(用户充当客户端,QQ 小冰充当服务端)

    查看本章节 查看作业目录 需求说明: 小冰是微软公司研发的人工智能机器人,被腾讯公司加入 QQ 群后,立即受到千万网友的喜爱.现在使用 Socket类模拟用户加入 QQ 群时,QQ 小冰发送欢迎消息的 ...

  4. UE4 TCP通信 (UE客户端与网络调试助手服务端、python服务端通信)

    目录 一.使用UE4建立TCP客户端 二.使用网络调试助手建立服务端 三.基于网络调试助手的服务端与UE客户端通信 四.基于python的TCP服务端与UE客户端通信 一.使用UE4建立TCP客户端 ...

  5. 学习 ET(1)- 开源的游戏客户端(基于 unity3d)服务端双端框架

    我: 客户端程序员,15+ 以上 C++ 编码经历, 还算扎实.Unity 编码经历 1年,C# 没有单独学过.真不想离开C++的世界,大形势驱使进入了Unity+C#世界. ET - 开源的游戏客户 ...

  6. 联众服务器超时中断,http连接中客户端中断了请求,服务端会中断执行吗?超时时间设置?...

    由于http是基于tcp的,在tcp中,客户端中断了连接,服务端是无法感知的,只能通过发心跳包来检测,而显然我们的nginx是没有发心跳包的,所以,包括nginx,php-fpm都是不知道客户端已断开 ...

  7. java Socket Tcp示例三则(服务端处理数据、上传文件)

    示例一: package cn.itcast.net.p5.tcptest; import java.io.BufferedReader; import java.io.IOException; im ...

  8. 网络游戏《丛林战争》开发与学习之(二):粘包分包现象以及服务端解析数据

    本篇博客主要介绍数据发送和接收时遇到的粘包和分包现象,以及实现服务端解析收到消息的代码,本节的代码是在第(一)部分的基础上进行的,可以先浏览下第一部分https://blog.csdn.net/s13 ...

  9. ajax 获取java数据_如何使用Ajax从服务端获取数据

    在本文中将给出一个例子来介绍使用 Ajax 技术从服务端获得数据的三种方法.这个例子很简单,就是两个选择框(html中的标签),通过选中第一个select的某一项后,会从服务端得到一些数据,并加载到第 ...

最新文章

  1. 大盘点|YOLO 系目标检测算法总览
  2. JavaScript兼容HTML代码的注释
  3. 爬虫python代码-一则python3的简单爬虫代码
  4. windows系统numpy的下载与安装教程
  5. 计划边际码(Scheduling Margin Key)
  6. oracle solaris 内核 源码,直接安装内核区域
  7. 内含福利|CSDN携手字节跳动:云原生Meetup北京站报名热烈启动,1月8日见!
  8. pipedreader_Java PipedReader ready()方法与示例
  9. C++实现俄罗斯方块
  10. 开课吧Java课堂之什么是搜索字符串
  11. SilkTest 对 Excel 表操作的两种方式
  12. jdbc连接数据库以及crud(简单易懂,本人亲测可用 有源代码和数据库)
  13. iOS 集成友盟分享图片链接为http时无法加载问题解决
  14. docker 安装svnserver
  15. Matlab采用梯度算子、拉普拉斯算子、Sobel算子及Prewitt算子对图像进行锐化
  16. 史上最好用的GIF工具——ScreenToGif
  17. 修改mysql的authen_MySQL数据库出现Authentication plugin怎么办
  18. python进程池apply与apply_async的区别
  19. 程序设计基础-SDUT-实验3-while循环
  20. 最近计算机速度测试情况,WiFi速度测试测试测试互联网速度多少兆字节

热门文章

  1. Python使用pytest框架进行单元测试
  2. JDK8新特性(十四)之日期时间API
  3. 筑龙网下载的文件格式是php_为什么使用迅雷下载的文件都是PHP格式的
  4. 荣耀v10玩flash游戏_沫子玩王者荣耀被打哭?直言这个游戏比吃鸡还难玩
  5. class action extends mysql{_java Action 请求封装(二)
  6. matlab中对正弦信号采样,正弦信号抽样的实验报告(共9篇).doc
  7. java三个技术平台_Java的3个平台有什么区别
  8. Mybatis Plus语法+示例
  9. 函数指针的定义和函数指针数组
  10. Zabbix监控Oracle 连接数