Java Netty4 基于对象的通信 二
来源:互联网 发布:java增删改查代码思路 编辑:程序博客网 时间:2024/05/21 10:20
前言:
书接上篇:http://blog.csdn.net/supingemail/article/details/45247707
不多废话,具体的介绍以及文档,网络上有很多,我就不多说了。。。。。。
一:实体Bean 对象
/**
*
* 传递的对象.
*
* @author rocky
*
*/
public class Person extends BaseObjBean {
private static final long serialVersionUID = 1L;
private String name;
private String sex;
private int age;
public Person() {
super();
}
public Person(String name, String sex, int age) {
super();
this.name = name;
this.sex = sex;
this.age = age;
}
public String toString() {
return "name:" + name + " sex:" + sex + " age:" + age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
二:客户调用端
/**
* netty 客户端
*
* @author rocky
*
*/
public class NettyClient1 extends NettyBaseClient {
public NettyClient1(BaseObjBean bean) {
super(bean);
}
public static void main(String[] args) throws Exception {
BaseObjBean bean = new Person("张三丰","Boy",39);
NettyClient1 client = new NettyClient1(bean);
client.connect(Comms.IP, Comms.PORT);
}
}
三:服务端
/**
*
* netty 服务端.
*
* @author rocky
*
*/
public class NettyServer1 extends NettyBaseServer {
public NettyServer1(BaseObjBean bean) {
super(bean);
}
public static void main(String[] args) throws Exception {
BaseObjBean bean = new BaseObjBean();
NettyServer1 server = new NettyServer1(bean);
server.start(Comms.PORT);
}
}
运行以的客户端和服务端,就能够看见通信过后的信息,能够看见结果是怎样的了。
但是,这里面的业务都是我封装好的内部的实现,不能满足实际的业务需求,那么
如何才能够实现自己想要实现的业务呐 ? 答案是:写自己的 BusinessHandler ,
它继承自底层的 BusinessHandler .
四:自己的 MyHandler 的实现.
/**
* 自己的 handler , 继承自 BusinessHandler
*
* @author rocky
*
*/
public class MyServerHandler extends BusinessHandler {
private BaseObjBean bean;
public MyServerHandler(BaseObjBean bean) {
super(bean);
this.bean =bean;
}
@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
Person bean = (Person) msg;
if (bean.getAge()>30) {
System.out.println("步入中年了你...");
}
if (bean.getAge()==30) {
System.out.println("我靠,你都30 了呀...");
}
if (bean.getAge()<30) {
System.out.println("小伙,不粗哦,还有得玩呀...");
}
if (bean.getSex().equalsIgnoreCase("boy")) {
System.out.println("you are a handsome man ...");
}
if (bean.getSex().equalsIgnoreCase("girl")) {
System.out.println("you are a prefect woman ...");
}
System.out.println("BusinessHandler read msg from client :" + bean);
ctx.channel().write(bean.toString());
ctx.channel().writeAndFlush(bean.toString());
ctx.writeAndFlush(bean.toString());
}
}
五:新的 Server
/**
*
* netty 服务端
*
* @author rocky
*
*/
public class NettyServer2 extends NettyBaseServer {
public NettyServer2(BaseObjBean bean) {
super(bean);
}
public static void main(String[] args) throws Exception {
BaseObjBean bean = new Person();
NettyServer2 server = new NettyServer2(bean);
server.start(Comms.PORT, new MyServerHandler(bean));
}
}
由以上的这些调用,就可以很方便的看到结果,这个中,最主要的还是:MyServerHandler ,
这个是根据自己的业务逻辑,进行相应的业务的开发工作.
0 0
- Java Netty4 基于对象的通信 二
- Java Netty4 基于对象的通信 一
- 基于echo例子的netty4通信总结
- 基于echo例子的netty4通信总结
- 基于netty4的beanstalkd的java客户端实现
- 基于netty4的TCP短连接测试
- ZPush--基于netty4实现的苹果通知推送服务(APNs)Java客户端
- MPush基于java netty4的开源消息推送系统:简洁、安全、支持集群
- 基于Java的串口通信
- netty4通信步骤,原理
- Java学习系列(十六)Java面向对象之基于TCP协议的网络通信
- Java学习系列(十八)Java面向对象之基于UDP协议的网络通信
- Java学习系列(十六)Java面向对象之基于TCP协议的网络通信
- Java学习系列(十八)Java面向对象之基于UDP协议的网络通信
- Java NIO框架--Netty4的简单示例
- Java NIO框架--Netty4的简单示例
- 基于TCP/UDP的Socket网络通信系列之Java中的InetAddress的应用(二)
- 基于Java语言的安卓编程之二十五通信录读取(上)
- 自定义可点击的ImageSpan并在TextView中内置“View“
- Android 数字签名学习笔记
- GDB使用详解
- Android之自定义控件
- No resource found that matches the given name 'Theme.AppCompat.Light'
- Java Netty4 基于对象的通信 二
- 文件系统与存储:fat32的DBR分析
- 程序员进阶之路(C、C++、Java、Python经典书籍及学习顺序)
- C/C++中extern关键字详解
- js中SetInterval与setTimeout用法
- libnids的哈希及查找
- javac编译出现“找不到符号”和"软件包不存在"的解决
- Android Gesture Detector
- 剑指offer--面试题3:二维数组的查找--Java实现