服务端

package com.demo.rpc.netty;import io.netty.bootstrap.ServerBootstrap;
import io.netty.channel.*;
import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.channel.socket.nio.NioServerSocketChannel;
import io.netty.channel.socket.nio.NioSocketChannel;
import io.netty.handler.codec.string.StringDecoder;
import io.netty.handler.codec.string.StringEncoder;public class NettyServer {public static void main(String[] args) throws InterruptedException {NioEventLoopGroup bossGroup = new NioEventLoopGroup();NioEventLoopGroup workGroup = new NioEventLoopGroup();ServerBootstrap serverBootstrap = new ServerBootstrap();serverBootstrap.group(bossGroup, workGroup).channel(NioServerSocketChannel.class).childHandler(new ChannelInitializer<NioSocketChannel>() {@Overrideprotected void initChannel(NioSocketChannel nioSocketChannel) {ChannelPipeline pipeline = nioSocketChannel.pipeline();pipeline.addFirst(new StringEncoder());pipeline.addLast(new StringDecoder());pipeline.addLast(new SimpleChannelInboundHandler<String>() {@Overrideprotected void channelRead0(ChannelHandlerContext channelHandlerContext, String msg) {System.out.println(msg);}});}});ChannelFuture future = serverBootstrap.bind(9999).sync();future.channel().closeFuture();}
}

客户端

package com.demo.rpc.netty;import io.netty.bootstrap.Bootstrap;
import io.netty.channel.Channel;
import io.netty.channel.ChannelInitializer;
import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.channel.socket.nio.NioSocketChannel;
import io.netty.handler.codec.string.StringEncoder;public class NettyClient {public static void main(String[] args) throws InterruptedException {NioEventLoopGroup group = new NioEventLoopGroup();Bootstrap bootstrap = new Bootstrap();bootstrap.group(group).channel(NioSocketChannel.class).handler(new ChannelInitializer<Channel>() {@Overrideprotected void initChannel(Channel channel) throws Exception {channel.pipeline().addLast(new StringEncoder());}});Channel channel = bootstrap.connect("127.0.0.1", 9999).channel();while (true){channel.writeAndFlush("hello server");Thread.sleep(2000);}}
}

控制台打印

Netty 客户端服务器端通信 demo相关推荐

  1. 客户端服务器通信demo(续) -- 使用二进制协议 (附源码)

    转载连接: http://blog.csdn.net/zhuweisky/article/details/11827797 在网络上,交互的双方基于TCP或UDP进行通信,通信协议的格式通常分为两类: ...

  2. 【Netty】Netty 入门案例分析 ( Netty 模型解析 | Netty 服务器端代码 | Netty 客户端代码 )

    文章目录 一. Netty 模型代码解析 二. Netty 案例服务器端代码 1 . 服务器主程序 2 . 服务器自定义 Handler 处理者 三. Netty 案例客户端代码 1 . 客户端主程序 ...

  3. Netty4 学习笔记之一:客户端与服务端通信 demo

    前言 因为以前在项目中使用过Mina框架,感受到了该框架的强大之处.于是在业余时间也学习了一下Netty.因为Netty的主要版本是Netty3和Netty4(Netty5已经被取消了),所以我就直接 ...

  4. 北风网ajax,[T8:JavaScript中利用Ajax实现客户端与服务器端通信北风网收费视频讲座.ppt...

    [T8:JavaScript中利用Ajax实现客户端与服务器端通信北风网收费视频讲座 Ajax简介 XMLHttpRequest对象 综合案例 1.HTTP请求 现在,很多浏览器都可以直接从JavaS ...

  5. java socket通信 客户端_JavaのSocket编程之简单客户端与服务器端通信

    Socket编程之简单客户端与服务器端通信 socket 通常用来实现客户端和服务端的连接,socket 是Tcp/Ip协议的一个十分流行的编程界面,一个socket 由一个Ip地址和一个端口号唯一确 ...

  6. 安卓应用开发Socket通信 客户端+服务器端

    安卓应用开发Socket通信 客户端+服务器端 1. 添加网络权限 <uses-permission android:name="android.permission.INTERNET ...

  7. C#+Socket 聊天室(实现公网通信 客户端-服务器端-客户端)

    文章目录 简述 功能演示视频(b站) 准备工作 服务器端 服务器端界面 服务器端代码 客户端 客户端界面 客户端代码 总结 简述 关于Socket的原理我就不在这里赘述了,有大佬已经作详细的说明了: ...

  8. Socket实现服务器端与客户端之间通信(输入文字聊天)

    用Socket实现服务器端与客户端之间通信 需求: 键盘输入文字使服务器端与客户端可以实现文字通信. 使用的是TCP协议. TCP协议 客户端 创建Socket连接服务端(指定ip地址,端口号)通过i ...

  9. 服务器客户端通信原理,客户端到服务器端通信原理

    我们首先要了解一个概念性的词汇:Socket socket的英文原义是"孔"或"插座".作为进程通信机制,取后一种意思.通常也称作"套接字" ...

最新文章

  1. php中类的构造函数是,PHP 类的构造函数和析构函数
  2. ScalaTour-1.基础
  3. 在 Excel 内使用 ODBC 消费 SAP ABAP CDS view
  4. ROS小白——knict相机标定(2)
  5. 【C++基础学习】《C++ Primer》中的“有序型”
  6. python加载csv文件去重_用python读写和处理csv文件
  7. Leetcode1293.网格中的最短路径
  8. 仿真工具NS3的基本知识
  9. vue富文本编辑器中上传图片
  10. 双十一期间Kafka以这种方式丢消息让我促不及防
  11. 辩证法——自然观、自然科学方法论和科学观
  12. ImageWatch详细教程
  13. java实现简易外卖功能
  14. mixpanel实验教程(1)
  15. 【Tableau server 日常运维19】Linux版本Tableau Server视图出现如下图乱码解决方案
  16. hive URI ${systemjava.io.tmpdir%7D$%7Bsystemuser.name%7D
  17. MySQL InnoDB聚簇索引和普通索引浅析
  18. 使用python进行相关性分析并绘制散点图
  19. OpenGL - SSAO
  20. rtk打点,导入arcgis并进行格式变换

热门文章

  1. python使用高阶函数实现_18.python高阶函数
  2. 智能指针的释放_看完这篇,别再说不会智能指针了
  3. 自动补足算法是什么_数据、算法岗的几点经验分享!
  4. java包名和类名可以一样吗_Java入门第三课:Java基本语法
  5. 关于python类_python中类的总结
  6. oracle左连接数据会对不上吗,一周工作总结–左连接造成的一些问题-Oracle
  7. python写if语句_python if语句
  8. android 网络连接 网络是否可用,Android 使用ping判断网络/WIFI连接是否可用
  9. python自动化办公实例展示_python自动化办公?学这些就够用了
  10. viewBox视图缩放(1)