onbon.bx06
Class Bx6GServer

java.lang.Object
  extended by onbon.bx06.Bx6GServer

public class Bx6GServer
extends Object

BX6G 服务器主程式。
程式会于启动后监听是否有屏幕与服务程式建立连线,并于连线建立后透过监听器通知外部。
 * 当屏幕于一分钟内没有收到任何心跳包,或没有进行任何操作,程式会自动切断该屏幕的连线,并透过监听器通知外部。

 Bx6GServer server = new Bx6GServer("TEST", 8001);
 server.addListener(new AppListener());
 server.start();


 public class AppListener implements Bx6GServerListener {

     public void connected(String socketId, String netId, Bx6GScreen screen) {
         // 设备连线,相关资讯包括:
         // socketId: Socket 编号。
         // netId: 控制器 Net 编号,唯一識別碼。
         // screen: 屏幕控制程式。
     }

     public void disconnected(String socketId, String netId, Bx6GScreen screen) {
         // 设备断线,相关资讯包括:
         // socketId: Socket 编号。
         // netId: 控制器 Net 编号,唯一識別碼。
         // screen: 屏幕控制程式。
     }
 }

 
 

Author:
ONBON

Constructor Summary
Bx6GServer(String aliasName, int port, Bx6Card bx6Card)
          建构子。
Bx6GServer(String aliasName, int port, Bx6Card bx6Card, int timeout)
          建构子。
 
Method Summary
 void addListener(Bx6GServerListener listener)
          增加监听器。
 void clearListeners()
          清除所有监听器。
 void disconnect(String socketId)
           
 Set<String> getOnlineNetIds()
          取得目前上线包括還未收到心跳包的控制器 Net 编号清单, GPRS 設備的 Net 编号等於 DTU 编号。
 Bx6GScreen getOnlineScreenByNetId(String netId)
          根據 Net 编号或是 GPRS 的 DTU 编号取得上线的屏幕控制程式,還未收到心跳包的亦可查詢。
 Bx6GScreen getOnlineScreenBySocketId(String socketId)
          取得上线包括還未收到心跳包的屏幕控制程式。
 Collection<Bx6GScreen> getOnlineScreens()
          取得上线包括還未收到心跳包的的所有屏幕控制程式。
 Set<String> getOnlineSocketIds()
          取得目前上线包括還未收到心跳包的屏幕 Socket 编号 (识别编号)。
 Set<String> getReadyNetIds()
          取得目前上线且有效的屏幕 Net 编号清单, GPRS 設備的的 Net 编号等於 DTU 编号。
 Collection<Bx6GScreen> getReadyScreens()
          取得上线且有效的所有屏幕控制程式。
 Set<String> getReadySocketIds()
          取得目前上线且有效的屏幕 Socket 编号 (识别编号)。
 void removeListener(Bx6GServerListener listener)
          移除监听器。
 boolean start()
          启动服务。
 void stop()
          停止服务。
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Bx6GServer

public Bx6GServer(String aliasName,
                  int port,
                  Bx6Card bx6Card)
           throws Exception
建构子。

Parameters:
aliasName - 名稱
port - 通訊埠。
bx6Card - BX6 系列控制器。
Throws:
Exception - 發生錯誤。

Bx6GServer

public Bx6GServer(String aliasName,
                  int port,
                  Bx6Card bx6Card,
                  int timeout)
           throws Exception
建构子。

Parameters:
aliasName - 名稱
port - 通訊埠。
bx6Card - BX6 系列控制器。
timeout - 客戶端無通訊檢查時間 (ms)。
Throws:
Exception - 發生錯誤。
Method Detail

start

public boolean start()
启动服务。

Returns:
启动是否成功。

stop

public void stop()
停止服务。


addListener

public void addListener(Bx6GServerListener listener)
增加监听器。

Parameters:
listener - 监听器。

removeListener

public void removeListener(Bx6GServerListener listener)
移除监听器。

Parameters:
listener - 监听器。

clearListeners

public void clearListeners()
清除所有监听器。


getOnlineScreens

public Collection<Bx6GScreen> getOnlineScreens()
取得上线包括還未收到心跳包的的所有屏幕控制程式。

Returns:
屏幕控制程式。

getOnlineScreenBySocketId

public Bx6GScreen getOnlineScreenBySocketId(String socketId)
取得上线包括還未收到心跳包的屏幕控制程式。

Parameters:
socketId - Socket 编号 (识别编号)。
Returns:
屏幕控制程式。

getOnlineScreenByNetId

public Bx6GScreen getOnlineScreenByNetId(String netId)
根據 Net 编号或是 GPRS 的 DTU 编号取得上线的屏幕控制程式,還未收到心跳包的亦可查詢。

Parameters:
netId - 控制器 Net 编号或是 GPRS 的 DTU 编号。
Returns:
屏幕控制程式。

getOnlineSocketIds

public Set<String> getOnlineSocketIds()
取得目前上线包括還未收到心跳包的屏幕 Socket 编号 (识别编号)。

Returns:
目前上线屏幕的 Socket 编号。

getOnlineNetIds

public Set<String> getOnlineNetIds()
取得目前上线包括還未收到心跳包的控制器 Net 编号清单, GPRS 設備的 Net 编号等於 DTU 编号。

Returns:
目前上线控制器的Net 编号清单。

getReadyScreens

public Collection<Bx6GScreen> getReadyScreens()
取得上线且有效的所有屏幕控制程式。

Returns:
屏幕控制程式。

getReadySocketIds

public Set<String> getReadySocketIds()
取得目前上线且有效的屏幕 Socket 编号 (识别编号)。

Returns:
目前上线屏幕的 Socket 编号。

getReadyNetIds

public Set<String> getReadyNetIds()
取得目前上线且有效的屏幕 Net 编号清单, GPRS 設備的的 Net 编号等於 DTU 编号。

Returns:
目前上线屏幕的 Socket 编号。

disconnect

public void disconnect(String socketId)


Copyright © 2020 onbon. All rights reserved.