深入理解Apache Mina (3)---- 与IoHandler相关的几个类
2009-09-16 00:00:00 来源:WEB开发网根据上面的需求,我们使用Mina来实现上面的服务器和客户端,程序的代码如下(完整代码在附件中):
Java代码
KFCFoodPriceHandler(服务器句柄):
public class KFCFoodPriceHandler extends IoHandlerAdapter {
// 创建会话
public void sessionOpened(IoSession session) throws
Exception {
// System.out.println(" 服务器创建了会话 ");
}
// 接收信息
public void messageReceived(IoSession session, Object
message)
throws Exception {
HashMap<String, Object> map = (HashMap<String,
Object>) message;
String buythings = (String) map.get("购买");
// System.out.println(" 服务器接收到的信息 " +
buythings);
if (buythings.equals("汉堡")) {
HashMap<String, Object> map2 = new
HashMap<String, Object>();
map2.put("食品", "汉堡");
map2.put("价格", 4);
session.write(map2);
} else if (buythings.equals("鸡翅")) {
HashMap<String, Object> map2 = new
HashMap<String, Object>();
map2.put("食品", "鸡翅");
map2.put("价格", 5);
session.write(map2);
} else {
session.write(" 该种物品已经出售完毕,谢谢
惠顾!");
}
}
}
KFCSellerHandler(客户端句柄):
public class KFCSellerHandler extends IoHandlerAdapter {
private Integer childInputMoney_Ham = 4;
private Integer childInputMoney_Chick = 5;
// 创建会话
public void sessionOpened(IoSession session) throws
Exception {
HashMap<String, Object> map = new
HashMap<String, Object>();
map.put("购买", "汉堡");
session.write(map);
}
// 接收信息
public void messageReceived(IoSession session, Object
message)
throws Exception {
// System.out.println(" 客户端接收到的服务器的信息是 "
// + (HashMap<String, Object>)
message);
HashMap<String, Object> priceInfor =
(HashMap<String, Object>) message;
// System.out.println("============" +
priceInfor.get("食品"));
String foodName = (String) priceInfor.get("食品");
if (foodName.equals("汉堡")) {
Integer foodPrice = (Integer) priceInfor.get
("价格");
if (foodPrice.equals
(childInputMoney_Ham)) {
System.out.println(" 您好,请收好
你的汉堡,欢迎下次光临!");
} else {
System.out.println(" 对不起,你投
如的钱币数量不够,钱已经如数归还,请收好!");
}
} else if (foodName.equals("鸡翅")) {
Integer foodPrice = (Integer) priceInfor.get
("价格");
if (foodPrice.equals
(childInputMoney_Chick)) {
System.out.println(" 您好,请收好
你的汉堡,欢迎下次光临!");
} else {
System.out.println(" 对不起,你投
如的钱币数量不够,钱已经如数归还,请收好!");
}
}
}
}
- ››apache设置域名绑定 以及绑定不起作用的排查
- ››apache rewrite将指定URL转向指定的几个服务器
- ››apache配置文件httpd.comf部分参数说明
- ››Apache+Mysql+PHP+phpMyAdmin+Mac OS X 10.7 Lion...
- ››深入理解JAR包
- ››apache+tomcat负载均衡_项目实例
- ››apache mysql php 源码编译使用
- ››深入分析Volatile的实现原理
- ››深入理解Flash Player的应用程序域(Application ...
- ››深入理解flash函数(AS2)
- ››Apache添加mod_aspdotnet.so支持ASP.NET配置指南
- ››Apache中改变php.ini的路径
更多精彩
赞助商链接