• 大小: 75.91MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2022-07-12
  • 语言: Java
  • 标签: java  mina  

资源简介

代码利用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\.taskListIndex\segments.gen

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

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

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

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

     文件       5268  2018-09-06 23:04  第五章 mina通信\客户端\.metadata\.plugins\org.eclipse.core.resources\.history\0\501a27afe6b100181e63a8c03ea29b18

     文件       5179  2018-09-06 23:26  第五章 mina通信\客户端\.metadata\.plugins\org.eclipse.core.resources\.history\0\c044e864e9b100181e63a8c03ea29b18

     文件       5008  2018-09-06 23:30  第五章 mina通信\客户端\.metadata\.plugins\org.eclipse.core.resources\.history\12\40d0cdd2e9b100181e63a8c03ea29b18

     文件       5160  2018-09-06 22:57  第五章 mina通信\客户端\.metadata\.plugins\org.eclipse.core.resources\.history\16\80cb17b6e5b100181e63a8c03ea29b18

     文件         75  2018-09-06 22:04  第五章 mina通信\客户端\.metadata\.plugins\org.eclipse.core.resources\.history\1b\4072c7edddb100181e63a8c03ea29b18

     文件        110  2018-09-06 22:05  第五章 mina通信\客户端\.metadata\.plugins\org.eclipse.core.resources\.history\1f\8071420bdeb100181e63a8c03ea29b18

     文件       6190  2018-09-09 06:51  第五章 mina通信\客户端\.metadata\.plugins\org.eclipse.core.resources\.history\2\404c7b68bab300181d4791cb07e08b4e

     文件       4886  2018-09-07 22:24  第五章 mina通信\客户端\.metadata\.plugins\org.eclipse.core.resources\.history\20\60d042faa9b200181068b0096c4b1382

     文件       5007  2018-09-06 23:30  第五章 mina通信\客户端\.metadata\.plugins\org.eclipse.core.resources\.history\23\60583cc6e9b100181e63a8c03ea29b18

     文件        111  2018-09-06 22:43  第五章 mina通信\客户端\.metadata\.plugins\org.eclipse.core.resources\.history\25\806c1e43e3b100181e63a8c03ea29b18

     文件          0  2018-09-06 22:04  第五章 mina通信\客户端\.metadata\.plugins\org.eclipse.core.resources\.history\2b\e077e9b7ddb100181e63a8c03ea29b18

     文件       5018  2018-09-06 23:31  第五章 mina通信\客户端\.metadata\.plugins\org.eclipse.core.resources\.history\2c\d0f15219eab100181e63a8c03ea29b18

     文件       5176  2018-09-06 23:10  第五章 mina通信\客户端\.metadata\.plugins\org.eclipse.core.resources\.history\30\5013c18de8b100181e63a8c03ea29b18

     文件       6629  2018-09-09 07:03  第五章 mina通信\客户端\.metadata\.plugins\org.eclipse.core.resources\.history\32\c06a3fdcbbb300181d4791cb07e08b4e

     文件       5072  2018-09-06 23:21  第五章 mina通信\客户端\.metadata\.plugins\org.eclipse.core.resources\.history\34\50ad163ee9b100181e63a8c03ea29b18

     文件       1353  2018-09-10 00:01  第五章 mina通信\客户端\.metadata\.plugins\org.eclipse.core.resources\.history\39\e075da174bb4001810eba554dd7c6452

     文件       4988  2018-09-06 23:29  第五章 mina通信\客户端\.metadata\.plugins\org.eclipse.core.resources\.history\3b\705f2abce9b100181e63a8c03ea29b18

     文件       6682  2018-09-09 07:06  第五章 mina通信\客户端\.metadata\.plugins\org.eclipse.core.resources\.history\3c\f06cbe0cbcb300181d4791cb07e08b4e

     文件       6738  2018-09-09 08:39  第五章 mina通信\客户端\.metadata\.plugins\org.eclipse.core.resources\.history\3d\a08b19efc8b300181f4fdd6b1cb4ae2c

     文件       4793  2018-09-06 22:45  第五章 mina通信\客户端\.metadata\.plugins\org.eclipse.core.resources\.history\4\a0efa6d5e3b100181e63a8c03ea29b18

     文件       6643  2018-09-09 07:08  第五章 mina通信\客户端\.metadata\.plugins\org.eclipse.core.resources\.history\41\80173141bcb300181d4791cb07e08b4e

     文件       5260  2018-09-06 23:08  第五章 mina通信\客户端\.metadata\.plugins\org.eclipse.core.resources\.history\48\30f7eff1e6b100181e63a8c03ea29b18

     文件       3969  2018-09-06 22:07  第五章 mina通信\客户端\.metadata\.plugins\org.eclipse.core.resources\.history\4a\802b5e19e1b100181e63a8c03ea29b18

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

评论

共有 条评论