码迷,mamicode.com
首页 > 其他好文 > 详细

Jetsever开源项目学习(三)Server学习

时间:2016-01-02 08:40:49      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:

首先看一下org.menacheri.jetserver.server包

技术分享

Server.java

package org.menacheri.jetserver.server;

import java.net.InetSocketAddress;

import org.menacheri.jetserver.app.Session;

public interface Server {

    public interface TransmissionProtocol{
        
    }                                                      //内部接口,只有域没有方法
    
    public enum TRANSMISSION_PROTOCOL implements TransmissionProtocol {
        TCP,UDP;
    }                                                      //枚举类实现了传输协议的种类
    
    TransmissionProtocol getTransmissionProtocol();
    
    void startServer() throws Exception;
    
    void startServer(int port) throws Exception;
    
    void startServer(InetSocketAddress socketAddress) throws Exception;
    
    void stopServer() throws Exception;
    
    InetSocketAddress getSocketAddress();
    
    Session getSession();
    
    void setSession(Session session);
}

ServerManger.java

package org.menacheri.jetserver.server;

/**
 * A generic interface used to manage a server.
 * @author Abraham Menacherry
 *
 */
public interface ServerManager
{
    public void startServers(int tcpPort, int flashPort, int udpPort) throws Exception;
    
    public void startServers() throws Exception;
    /**
     * Used to stop the server and manage cleanup of resources. 
     * 
     */
    public void stopServers() throws Exception;
}

首先看一下Server和ServerManager这两个接口:

(1)ServerManager用于管理多个Server,提供对外的访问接口。

(2)Server中的方法是包级保护的,这个包其实只有Server和ServerManger两个类,所以Server中的方法只能被ServerManger访问。

(3)这两个接口提供了服务类通用的方法,如开始服务,结束服务,返回套接字地址,传输协议,Session和设置Session等。

 

 


 

 

技术分享

 

Jetsever开源项目学习(三)Server学习

标签:

原文地址:http://www.cnblogs.com/Guoyutian/p/5094102.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!