mina通信服务器端客户端源码.rar


代码利用mina框架实现了服务器端和客户端,客户端的登录请求、客户端向服务器端请求图片文件的功能。代码分为服务端和客户端,开发环境eclipse。服务器代码可在web项目中使用,客户端代码可以在Android开发时使用,本例子中没有将登录信息保存到IOSession中,在实际开发中,可以将登录信息保存到服务器端的iossion对象中,当前,也可以将其他会话有关的信息保存到IOSession中。
资源截图
代码片段和文件信息
package edu.hbmy.taotao.mina;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.InetSocketAddress;

import org.apache.mina.core.future.ConnectFuture;
import org.apache.mina.core.future.IoFuture;
import org.apache.mina.core.future.IoFutureListener;
import org.apache.mina.core.future.ReadFuture;
import org.apache.mina.core.future.WriteFuture;
import org.apache.mina.core.service.IoService;
import org.apache.mina.core.session.IoSession;

import org.apache.mina.filter.codec.ProtocolCodecFilter;
import org.apache.mina.filter.codec.serialization.objectSerializationCodecFactory;
import org.apache.mina.transport.socket.nio.NioSocketConnector;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import net.sf.json.JSONobject;

public class MinaClient {

private static final Logger log = LoggerFactory.getLogger(MinaClient.class);
/**
 * 服务器IP地址
 */
private String serverIp = “127.0.0.1“;
/**
 * 服务端口号
 */
private int PORT = 9898;
/**
 * 服务器地址信息
 */
private InetSocketAddress serverAddres =new InetSocketAddress(serverIpPORT);
/**
 * 连接对象
 */
private  NioSocketConnector connector;
/**
 * futuer对象
 */
private ConnectFuture future;
/**
 * session对象
 */
private IoSession session;
/**
 * 单例模式
 */
private static MinaClient instance = new MinaClient();
public static MinaClient getInstance() {
return instance;
}

public boolean connect(){
if (connector!=null&&connector.isActive()) {
System.out.println(“服务器已连接“);
return true;
}
connector = new NioSocketConnector();
connector.getSessionConfig().setUseReadOperation(true);
connector.setHandler(new objectHandler());
connector.getFilterChain().addLast(“codec“
new ProtocolCodecFilter(new objectSerializationCodecFactory()));

future = connector.connect(serverAddres);
//future.awaitUninterruptibly();//线程阻塞,等待连接服务器
future.addListener(new IoFutureListener() {

@Override
public void operationComplete(IoFuture future) {
// TODO Auto-generated method stub
if (MinaClient.this.future.isConnected()) {
session = future.getSession();
}
else {
System.out.println(“连接服务器失败“);
}
}
});
// if (future.isConnected()) {
// session = future.getSession();
// System.out.println(“服务器连接成功!“);
// }else {
// session = null;
// System.out.println(“服务器连接失败!“);
// }
return true;
}

public void closeClient()
{
if (null != session) {
IoService ioService = session.getService();
ioService.dispose();
System.out.println(“客户端关闭“);
}

}

public void sendPacket(Packet packetSendPacketResult result){
if (session !=null) {
WriteFuture writeFuture =  session.write(packet);
writeFuture.addListener(new IoFutureListener() {
@Override
public void operationComplete(WriteFuture future) {
// T

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件          0  2018-09-01 16:18  第五章 mina通信客户端.metadata.lock

     文件     112170  2018-09-09 22:49  第五章 mina通信客户端.metadata.log

     文件         20  2018-09-01 22:05  第五章 mina通信客户端.metadata.mylyn.taskListIndexsegments.gen

     文件         32  2018-09-01 22:05  第五章 mina通信客户端.metadata.mylyn.taskListIndexsegments_1

     文件        250  2018-09-09 07:06  第五章 mina通信客户端.metadata.mylyn.tasks.xml.zip

     文件        438  2018-09-01 16:19  第五章 mina通信客户端.metadata.mylyn
epositories.xml.zip

     文件        250  2018-09-09 07:26  第五章 mina通信客户端.metadata.mylyn asks.xml.zip

     文件       5268  2018-09-06 23:04  第五章 mina通信客户端.metadata.pluginsorg.eclipse.core.resources.history501a27afe6b100181e63a8c03ea29b18

     文件       5179  2018-09-06 23:26  第五章 mina通信客户端.metadata.pluginsorg.eclipse.core.resources.historyc044e864e9b100181e63a8c03ea29b18

     文件       5008  2018-09-06 23:30  第五章 mina通信客户端.metadata.pluginsorg.eclipse.core.resources.history1240d0cdd2e9b100181e63a8c03ea29b18

     文件       5160  2018-09-06 22:57  第五章 mina通信客户端.metadata.pluginsorg.eclipse.core.resources.history1680cb17b6e5b100181e63a8c03ea29b18

     文件         75  2018-09-06 22:04  第五章 mina通信客户端.metadata.pluginsorg.eclipse.core.resources.history1b4072c7edddb100181e63a8c03ea29b18

     文件        110  2018-09-06 22:05  第五章 mina通信客户端.metadata.pluginsorg.eclipse.core.resources.history1f8071420bdeb100181e63a8c03ea29b18

     文件       6190  2018-09-09 06:51  第五章 mina通信客户端.metadata.pluginsorg.eclipse.core.resources.history2404c7b68bab300181d4791cb07e08b4e

     文件       4886  2018-09-07 22:24  第五章 mina通信客户端.metadata.pluginsorg.eclipse.core.resources.history2060d042faa9b200181068b0096c4b1382

     文件       5007  2018-09-06 23:30  第五章 mina通信客户端.metadata.pluginsorg.eclipse.core.resources.history2360583cc6e9b100181e63a8c03ea29b18

     文件        111  2018-09-06 22:43  第五章 mina通信客户端.metadata.pluginsorg.eclipse.core.resources.history25806c1e43e3b100181e63a8c03ea29b18

     文件          0  2018-09-06 22:04  第五章 mina通信客户端.metadata.pluginsorg.eclipse.core.resources.history2be077e9b7ddb100181e63a8c03ea29b18

     文件       5018  2018-09-06 23:31  第五章 mina通信客户端.metadata.pluginsorg.eclipse.core.resources.history2cd0f15219eab100181e63a8c03ea29b18

     文件       5176  2018-09-06 23:10  第五章 mina通信客户端.metadata.pluginsorg.eclipse.core.resources.history305013c18de8b100181e63a8c03ea29b18

     文件       6629  2018-09-09 07:03  第五章 mina通信客户端.metadata.pluginsorg.eclipse.core.resources.history32c06a3fdcbbb300181d4791cb07e08b4e

     文件       5072  2018-09-06 23:21  第五章 mina通信客户端.metadata.pluginsorg.eclipse.core.resources.history3450ad163ee9b100181e63a8c03ea29b18

     文件       1353  2018-09-10 00:01  第五章 mina通信客户端.metadata.pluginsorg.eclipse.core.resources.history39e075da174bb4001810eba554dd7c6452

     文件       4988  2018-09-06 23:29  第五章 mina通信客户端.metadata.pluginsorg.eclipse.core.resources.history3b705f2abce9b100181e63a8c03ea29b18

     文件       6682  2018-09-09 07:06  第五章 mina通信客户端.metadata.pluginsorg.eclipse.core.resources.history3cf06cbe0cbcb300181d4791cb07e08b4e

     文件       6738  2018-09-09 08:39  第五章 mina通信客户端.metadata.pluginsorg.eclipse.core.resources.history3da08b19efc8b300181f4fdd6b1cb4ae2c

     文件       4793  2018-09-06 22:45  第五章 mina通信客户端.metadata.pluginsorg.eclipse.core.resources.history4a0efa6d5e3b100181e63a8c03ea29b18

     文件       6643  2018-09-09 07:08  第五章 mina通信客户端.metadata.pluginsorg.eclipse.core.resources.history4180173141bcb300181d4791cb07e08b4e

     文件       5260  2018-09-06 23:08  第五章 mina通信客户端.metadata.pluginsorg.eclipse.core.resources.history4830f7eff1e6b100181e63a8c03ea29b18

     文件       3969  2018-09-06 22:07  第五章 mina通信客户端.metadata.pluginsorg.eclipse.core.resources.history4a802b5e19e1b100181e63a8c03ea29b18

............此处省略806个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)