资源简介
简单但是内容不浅的netty传输文件的例子,实现客户端和服务器端。全面,5积分绝对值得。本人通过很久测试才完成该简单通俗易懂的例子。
netty版本:4.0.23
代码片段和文件信息
/*
* Copyright 2012 The Netty Project
*
* The Netty Project licenses this file to you under the Apache License
* version 2.0 (the “License“); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing software
* distributed under the License is distributed on an “AS IS“ BASIS WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
package org.angel_lee.io.client;
import io.netty.bootstrap.Bootstrap;
import io.netty.channel.ChannelFuture;
import io.netty.channel.ChannelInitializer;
import io.netty.channel.ChannelOption;
import io.netty.channel.ChannelPipeline;
import io.netty.channel.EventLoopGroup;
import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.channel.socket.SocketChannel;
import io.netty.channel.socket.nio.NioSocketChannel;
import io.netty.handler.codec.bytes.ByteArrayEncoder;
import io.netty.handler.ssl.SslContext;
import io.netty.handler.ssl.util.InsecureTrustManagerFactory;
import io.netty.handler.stream.ChunkedWriteHandler;
/**
* Sends one message when a connection is open and echoes back any received
* data to the server. Simply put the echo client initiates the ping-pong
* traffic between the echo client and server by sending the first message to
* the server.
*/
public final class EchoClient {
static final boolean SSL = System.getProperty(“ssl“) != null;
static final String HOST = System.getProperty(“host“ “127.0.0.1“);
static final int PORT = Integer.parseInt(System.getProperty(“port“ “8007“));
static final int SIZE = Integer.parseInt(System.getProperty(“size“ “256“));
public static void main(String[] args) throws Exception {
// Configure SSL.git
final SslContext sslCtx;
if (SSL) {
sslCtx = SslContext.newClientContext(InsecureTrustManagerFactory.INSTANCE);
} else {
sslCtx = null;
}
// Configure the client.
EventLoopGroup group = new NioEventLoopGroup();
try {
Bootstrap b = new Bootstrap();
b.group(group)
.channel(NioSocketChannel.class)
.option(ChannelOption.TCP_NODELAY true)
.handler(new ChannelInitializer() {
@Override
public void initChannel(SocketChannel ch) throws Exception {
ChannelPipeline p = ch.pipeline();
if (sslCtx != null) {
p.addLast(sslCtx.newHandler(ch.alloc() HOST PORT));
}
p.addLast(
new ByteArrayEncoder()
new ChunkedWriteHandler()
new EchoClientHandler());
}
});
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3311 2014-10-27 17:30 netty\src\org\angel_lee\io\client\EchoClient.java
文件 2261 2014-10-29 10:13 netty\src\org\angel_lee\io\client\EchoClientHandler.java
文件 2117 2014-10-29 10:07 netty\src\org\angel_lee\io\server\EchoServer.java
文件 2785 2014-10-29 10:22 netty\src\org\angel_lee\io\server\EchoServerHandler.java
相关资源
- UDP可靠传输(VTCP11.0)
- 计网文件传输协议课设.rar
- ntko大文件上传
- 海德汉DNC RemoTools SDK virtual TNC软件接口
- HD_COFDM HD1080PYB车载式高清无线图像传
- 多核DSP间基于SRIO数据传输的设计与实
- 宾得全站仪数据传输软件
- 基于TCP传输文件及文件夹的LabVIEW程序
- 一个很好的天线覆盖模拟软件 - 传输
- vsftp的安装包
- 基于DirectShow的网络视频传输实现
- windows资源管理系统 自启工具
- 艾码森盘点机无线传输工具
- 基于arduino的无线温湿度传输系统
- 利用Opencv较高效率的视频图像传输
- canoe:基于15765的can网络传输层TP测试
- 基于UDP的数据传输与基于TCP的简易聊
- 基于无线传输技术的多路温度数据采
- Qt利用TCP实现客户端与服务器端的数据
- 基于netty编写的socket服务端
- 自己动手写基于动态代理,使用ZooK
- 文件快速传输系统(qq13712486).zip
- wireshark lua 插件 解析提取网络报文传
- ESP8266连接ONENET平台传输数据------笔记
- u2000r015传输域永久授权
- Spring+Netty+WebSocket
- sht10+bh1750+nrf24l01数据传输
- rtsp解析实现音视频实时传输
- DSP6713 I2C传输
- 奇丑无比的分割文件工具
评论
共有 条评论