梦幻之旅
DEBUG - 天道酬勤
::
首页
::
新随笔
::
联系
::
聚合
::
管理
::
671 随笔 :: 6 文章 :: 256 评论 :: 0 Trackbacks
<
2011年8月
>
日
一
二
三
四
五
六
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
公告
本博客中未注原创的文章均为转载,对转载内容可能做了些修改和增加图片注释,如果侵犯了您的版权,或没有注明原作者,请谅解
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(21)
给我留言
查看公开留言
查看私人留言
随笔分类
(644)
Android(10)
(rss)
ANT(4)
(rss)
C#(10)
(rss)
C/C++(16)
(rss)
CSS(3)
(rss)
DataBase(119)
(rss)
DB-DailyMmaintenance(16)
(rss)
Design Patterns(27)
(rss)
english
(rss)
Exceptions(7)
(rss)
EXT(39)
(rss)
FLASH(9)
(rss)
Hardware(20)
(rss)
Hibernate(13)
(rss)
Html(23)
(rss)
Java(143)
(rss)
java Net(10)
(rss)
JavaScript(39)
(rss)
Linux(26)
(rss)
php(5)
(rss)
Regular Exp(3)
(rss)
Spring(17)
(rss)
Struts(12)
(rss)
TOOL(43)
(rss)
VB/VBA/VBS(5)
(rss)
webservice(9)
(rss)
XML(2)
(rss)
我的梦幻旅途(14)
(rss)
随笔档案
(669)
2017年9月 (4)
2016年10月 (1)
2015年6月 (1)
2015年4月 (2)
2015年1月 (1)
2014年8月 (2)
2014年7月 (9)
2014年6月 (1)
2014年5月 (2)
2014年4月 (3)
2014年3月 (3)
2013年10月 (4)
2013年9月 (8)
2013年8月 (4)
2013年6月 (3)
2013年5月 (4)
2013年4月 (7)
2013年3月 (1)
2013年1月 (3)
2012年12月 (4)
2012年11月 (1)
2012年10月 (1)
2012年9月 (4)
2012年8月 (1)
2012年7月 (2)
2012年6月 (1)
2012年5月 (4)
2012年4月 (2)
2012年3月 (1)
2012年2月 (4)
2012年1月 (6)
2011年12月 (10)
2011年11月 (7)
2011年10月 (6)
2011年9月 (37)
2011年8月 (34)
2011年7月 (44)
2011年6月 (10)
2011年5月 (5)
2011年4月 (3)
2011年3月 (1)
2011年2月 (1)
2011年1月 (18)
2010年12月 (9)
2010年11月 (13)
2010年10月 (17)
2010年9月 (2)
2010年8月 (10)
2010年7月 (10)
2010年6月 (5)
2010年5月 (8)
2010年4月 (9)
2010年3月 (11)
2010年2月 (3)
2010年1月 (8)
2009年12月 (6)
2009年11月 (10)
2009年10月 (5)
2009年9月 (1)
2009年8月 (18)
2009年7月 (6)
2009年6月 (2)
2009年5月 (1)
2009年4月 (4)
2009年3月 (6)
2009年2月 (5)
2009年1月 (3)
2008年12月 (13)
2008年11月 (13)
2008年10月 (30)
2008年9月 (9)
2008年8月 (24)
2008年7月 (17)
2008年6月 (15)
2008年5月 (16)
2008年4月 (15)
2008年3月 (19)
2008年2月 (3)
2008年1月 (20)
2007年12月 (24)
2007年11月 (9)
文章档案
(6)
2008年4月 (1)
2008年3月 (1)
2008年1月 (2)
2007年11月 (2)
最新随笔
1. PP代码生成器(四) 使用解决方案生成代码
2. PP代码生成器(三) 设计freemarker模板, 创建解决方案
3. PP代码生成器(二) 解决方案, 生成任务, 辅助设计面板
4. PP代码生成器(一) 简介, 下载, 运行
5. PP持久层代码生成器
6. 比较好的博客
7. 系统集成项目管理工程师
8. 软件公司项目经理岗位职责
9. 联想笔记本 显示屏 键盘失灵 释放静电
10. eclipse maven
积分与排名
积分 - 954093
排名 - 37
最新评论
1. re: Myeclipse 快捷键大全(绝对全)
crl+向右箭头(输入法有问题打不出来)移到下一个参数的位置,然后crl+shift+向右箭头 选中该位置的参数即可
--红领巾
2. re: Log4j基本使用方法
555
--555
3. re: Myeclipse 快捷键大全(绝对全)[未登录]
很不错,谢谢
--银狐
4. re: Flex 表单
是谁这么无聊~呜~~~
--HUIKK
5. re: Spring AfterReturning 异常
具体是什么意思啊
--dingli
阅读排行榜
1. Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream(70015)
2. log4j.properties 使用说明(42070)
3. Myeclipse 快捷键大全(绝对全)(32711)
4. TNSNAMES.ORA 配置(24380)
5. oracle 树状查询(21351)
评论排行榜
1. Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream(53)
2. JMail 异常: java.lang.NoClassDefFoundError: javax/activation/DataSource(21)
3. javax.mail.MessagingException: 530 5.7.0 Must issue a STARTTLS command first(14)
4. java 读取 excel 2003 或 excel 2007(14)
5. java.lang.UnsupportedClassVersionError: Bad version number in .class file(8)
apache mina框架小试
1.server
package
server;
import
java.net.InetSocketAddress;
import
org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder;
import
org.apache.mina.core.session.IdleStatus;
import
org.apache.mina.filter.codec.ProtocolCodecFilter;
import
org.apache.mina.filter.codec.serialization.ObjectSerializationCodecFactory;
import
org.apache.mina.transport.socket.SocketAcceptor;
import
org.apache.mina.transport.socket.nio.NioSocketAcceptor;
public
class
MainServer
{
private
static
MainServer mainServer
=
new
MainServer();
private
SocketAcceptor acceptor;
private
int
bindPort
=
8888
;
public
static
MainServer getInstances()
{
return
mainServer;
}
private
MainServer()
{
this
.init();
}
private
void
init()
{
try
{
acceptor
=
new
NioSocketAcceptor();
acceptor.getSessionConfig().setReadBufferSize(
2048
*
3
);
acceptor.getSessionConfig().setIdleTime(IdleStatus.BOTH_IDLE,
10
);
DefaultIoFilterChainBuilder chain
=
acceptor.getFilterChain();
chain.addLast(
"
myChain
"
,
new
ProtocolCodecFilter(
new
ObjectSerializationCodecFactory()));
acceptor.setHandler(ServerHandler.getInstances());
acceptor.bind(
new
InetSocketAddress(bindPort));
}
catch
(Exception ex)
{
ex.printStackTrace();
}
}
public
void
shutDown()
{
acceptor.dispose();
}
public
static
void
main(String[] args)
throws
Exception
{
MainServer.getInstances();
}
}
2.handler
package
server;
import
org.apache.mina.core.filterchain.IoFilterAdapter;
import
org.apache.mina.core.service.IoHandler;
import
org.apache.mina.core.session.IdleStatus;
import
org.apache.mina.core.session.IoSession;
import
org.apache.mina.transport.socket.SocketSessionConfig;
public
class
ServerHandler
extends
IoFilterAdapter
implements
IoHandler
{
private
static
ServerHandler samplMinaServerHandler
=
new
ServerHandler();
public
static
ServerHandler getInstances()
{
return
samplMinaServerHandler;
}
private
ServerHandler()
{}
public
void
sessionOpened(IoSession session)
throws
Exception
{
System.out.println(
"
连接找开
"
);
}
public
void
sessionClosed(IoSession session)
{
session.close(
true
);
System.out.println(
"
关闭
"
);
}
public
void
messageReceived(IoSession session, Object message)
throws
Exception
{
String msg
=
(String) message;
System.out.println(
"
收到的信息长度
"
+
msg.length());
session.write(
"
echo
"
);
}
public
void
exceptionCaught(IoSession session, Throwable arg1)
throws
Exception
{
session.close(
true
);
}
public
void
messageSent(IoSession arg0, Object arg1)
throws
Exception
{
//
System.out.println(arg1);
}
public
void
sessionCreated(IoSession session)
throws
Exception
{
SocketSessionConfig cfg
=
(SocketSessionConfig) session.getConfig();
cfg.setReceiveBufferSize(
2
*
1024
*
1024
);
cfg.setReadBufferSize(
2
*
1024
*
1024
);
cfg.setKeepAlive(
true
);
cfg.setSoLinger(
0
);
}
public
void
sessionIdle(IoSession arg0, IdleStatus arg1)
throws
Exception
{}
}
3.client
package
client;
import
java.net.InetSocketAddress;
import
org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder;
import
org.apache.mina.core.future.ConnectFuture;
import
org.apache.mina.filter.codec.ProtocolCodecFilter;
import
org.apache.mina.filter.codec.serialization.ObjectSerializationCodecFactory;
import
org.apache.mina.transport.socket.nio.NioSocketConnector;
public
class
MsgSender
{
private
static
MsgSender msgSender
=
new
MsgSender();
NioSocketConnector connector;
DefaultIoFilterChainBuilder chain;
public
static
MsgSender getInstances()
{
return
msgSender;
}
private
MsgSender()
{
connector
=
new
NioSocketConnector();
chain
=
connector.getFilterChain();
chain.addLast(
"
myChain
"
,
new
ProtocolCodecFilter(
new
ObjectSerializationCodecFactory()));
connector.setHandler(ClientHandler.getInstances());
connector.setConnectTimeoutMillis(
1000
);
}
public
void
sendMsg(String host,
int
port, String msg)
{
//
chain.addLast("codec", new ProtocolCodecFilter( new TextLineCodecFactory()));
ConnectFuture cf
=
connector.connect(
new
InetSocketAddress(host, port));
cf.awaitUninterruptibly();
try
{
cf.getSession().write(msg);
}
catch
(Exception ex)
{
ex.printStackTrace();
}
cf.getSession().getCloseFuture().awaitUninterruptibly();
}
public
void
shutDown()
{
connector.dispose();
}
public
static
void
main(String args[])
{
StringBuffer s
=
new
StringBuffer();
for
(
int
i
=
0
;i
<
100
;i
++
)
{
s.append(i);
}
for
(
int
i
=
0
;i
<
200
;i
++
)
{
MsgSender.getInstances().sendMsg(
"
127.0.0.1
"
,
8888
, s.toString());
}
}
}
4.handler
package
client;
import
org.apache.mina.core.service.IoHandlerAdapter;
import
org.apache.mina.core.session.IoSession;
public
class
ClientHandler
extends
IoHandlerAdapter
{
private
static
ClientHandler samplMinaClientHandler
=
new
ClientHandler();
public
static
ClientHandler getInstances()
{
return
samplMinaClientHandler;
}
private
ClientHandler()
{
}
public
void
sessionOpened(IoSession session)
throws
Exception
{
}
public
void
sessionClosed(IoSession session)
{}
public
void
messageReceived(IoSession session, Object message)
throws
Exception
{
System.out.println(
"
收到到消息
"
+
(String) message);
session.close(
true
);
}
public
void
messageSent(IoSession arg0, Object arg1)
throws
Exception
{
//
System.out.println(arg1);
}
public
void
exceptionCaught(IoSession session, Throwable cause)
throws
Exception
{
session.close(
true
);
}
}
posted on 2011-08-30 13:11
HUIKK
阅读(1244)
评论(0)
编辑
收藏
所属分类:
Java
、
java Net
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
相关文章:
PP代码生成器(四) 使用解决方案生成代码
PP代码生成器(三) 设计freemarker模板, 创建解决方案
PP代码生成器(二) 解决方案, 生成任务, 辅助设计面板
PP代码生成器(一) 简介, 下载, 运行
PP持久层代码生成器
eclipse maven
平衡二叉树,java实现
数据结构复习
万能分页标签
优化Servlet配置为web.xml瘦身
Powered by:
BlogJava
Copyright © HUIKK