Blue框架的基本教程一:连接服务器

如蒙转载,请注明文章出处: www.sujun.org   作者: 弃天笑

下载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("服务器意外关闭时调用!没有参数的");
    }
}

源代码下载: 例子代码  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值