package com.test.client;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.InetSocketAddress;
import java.nio.charset.Charset;
import org.apache.mina.core.future.ConnectFuture;
import org.apache.mina.core.session.IoSession;
import org.apache.mina.filter.codec.ProtocolCodecFilter;
import org.apache.mina.filter.codec.textline.TextLineCodecFactory;
import org.apache.mina.transport.socket.nio.NioSocketConnector;
/**
* 客户端
*
* @author yan
*/
public class MinaClient {
public void start() throws IOException {
NioSocketConnector connector = new NioSocketConnector();
// connector.getFilterChain().addLast( "logger", new LoggingFilter() );
// 设置编码过滤器
connector.getFilterChain().addLast(
"codec",
new ProtocolCodecFilter(new TextLineCodecFactory(Charset
.forName("UTF-8"))));
connector.setConnectTimeoutMillis(10000);
connector.setHandler(new MinaClientHandler());
ConnectFuture cf = connector.connect(new InetSocketAddress(
"172.16.165.35", 10000));
// 等待连接创建完成
cf.awaitUninterruptibly();
IoSession session = cf.getSession();
System.out.println("客户端准备完毕");
// 以下是等待控制台的输入
while (true) {
BufferedReader in = new BufferedReader(new InputStreamReader(
System.in));
String line = in.readLine();
try {
if (!"".equals(line)) {
session.write(line);
} else if ("quit".equals(line)) {
break;
}
} catch (Exception e) {
e.printStackTrace();
System.out.println("服务端关闭了连接");
}
}
session.getCloseFuture().awaitUninterruptibly();
connector.dispose();
}
public static void main(String[] args) {
try {
new MinaClient().start();
} catch (IOException e) {
e.printStackTrace();
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
socket_spring.rar (31个子文件)
socket_spring
.springBeans 462B
src
com
test
client
MinaClientHandler.java 690B
MinaClient.java 2KB
server
MinaServerHandler.java 2KB
MyCodecFactory.java 533B
MiniServer_Unuse.java 1KB
action
InitListener.java 585B
SomeServer.java 140B
applicationContext.xml 347B
applicationContext-minaServer.xml 3KB
.classpath 671B
.mymetadata 312B
.settings
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.jsdt.ui.superType.name 6B
.jsdtscope 500B
.myeclipse
.project 1KB
WebRoot
META-INF
MANIFEST.MF 36B
index.jsp 834B
WEB-INF
classes
com
test
client
MinaClientHandler.class 1KB
MinaClient.class 3KB
server
MyCodecFactory.class 492B
MiniServer_Unuse.class 2KB
MinaServerHandler.class 3KB
action
SomeServer.class 528B
InitListener.class 926B
applicationContext.xml 347B
applicationContext-minaServer.xml 3KB
lib
slf4j-api-1.6.1.jar 25KB
commons-logging-1.0.3.jar 31KB
mina-core-2.0.4.jar 630KB
web.xml 468B
共 31 条
- 1
zwdjack
- 粉丝: 1
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
- 6
前往页