Blue框架的基本教程一:连接服务器
下载Blue框架的服务端和客户端的包,接着我们就看其中的使用例子
(下载类库:类库)
在使用Blue之前,建议先去看看服务端和客户端的api
服务器的主要看Server,Application,StartEndListenter,Client
客户端看一个ConnectJavaServer类的文档就够了
当然,你直接看例子也很容易熟悉的
首先来看flash客户端怎么连接到服务器上去的
先看客户端的as代码
//导入ConnectJavaServer类
import org.sujun.blue.net.ConnectJavaServer;
//实例化一个网络连接类
var netConnect:ConnectJavaServer = ConnectJavaServer.getConnectJavaServer();
//客户端连接成功或者失败后,会调用该事件
netConnect.onConnect = function(msg:String)
{
trace("msg:" + msg);
if(msg == "connect success")
{
trace("连接成功");
}
else
{
trace("连接失败");
}
}
//连接服务器
netConnect.connect("localhost",5588,"soda","admin123");
代码就很简单啦,说得很明白,当然,首先是要把那个客户端的包放进去
接下来看服务端的代码的MainFrame.java类
首先是一个启动服务器的,这个类调用了blue的里网络服务
import org.sujun.blue.net.Server;
import org.sujun.blue.global.Application;
public class MainFrame
{
public static void main(String[] args)
{
//注册响应客户端连接和端开处理类
Application.addStartEndListenter(new StartAndEnd());
Server ser = new Server();
//设置端口
ser.setPort(5588);
//启动服务
ser.startServer();
}
}
这个类很简单,注意到代码中的这一行,
//注册响应客户端连接和端开处理类
Application.addStartEndListenter(new StartAndEnd());
查看blue提供的相应api就知道了,Application.addStartEndListenter这个方法是注册一个相应客户端连接与关闭的方法,需要的参数是StartEndListenter接口的实现类
StartEndListenter接口只定义了两个默认的方法
/**
* 客户端刚连接成功时调用该方法
* (默认带一个参数方法)
* @param client 包含客户端信息的Client实例
*/
public void onConnet(Client client)
{
}
/**
* 客户端意外与服务器断开连接时响应该方法
* (默认带一个参数方法)
* @param client
*/
public void thunderboltCut(Client client)
{
}
这两个默认的方法,blue框架都已经默认地实现了,但是如果需要在客户端登陆或者退出的时候传递参数的时候,就需要对这两个方法进行多态了。下面是我们例子的响应客户端连接端开的代码
StartAndEnd.java
import org.sujun.blue.remote.Client;
import org.sujun.blue.global.Application;
import org.sujun.blue.response.StartEndListenterAdapter;
public class StartAndEnd extends StartEndListenterAdapter
{
//客户端连接时调用,提供了3个参数,注意Client client这个参数是必须的
public void onConnet(Client client,String name, String pass)
{
//判断用户名是正确
if(name.equals("soda") && pass.equals("admin123"))
{
//成功连接
Application.setStart(true,"SUCCESS");
}
else
{
//连接失败
Application.setStart(false,"FAIL");
}
System.out.println("用户连接程序完毕");
}
//客户端端开时调用
public void thunderboltCut(Client client)
{
System.out.println("服务器意外关闭时调用!没有参数的");
}
}
源代码下载:例子代码