📄 smsserverhelper.java
字号:
CommonLogger.Info("ReceiveServerHelper", strMessage);
break;
}
//if (ssHelper.isClosed()) {
// strMessage = "监控终端 " + nDeviceID + " 对应的Socket已关闭!";
// CommonLogger.Info("ReceiveServerHelper", strMessage);
// break;
//}
//发送数据
ssHelper.write(strReadBuffer);
//记录单呼位置信息
int nOperatorID = terminal.getLogOperateInfos().getOperatorID();
SingleCallLocationInfos Infos = new SingleCallLocationInfos();
Infos.setOperatorID(nOperatorID);
Infos.setDeviceID(nDeviceID);
Infos.setLocationDate(locationParser.getParseResult().getLocationDate());
Infos.setLocationInfos(locationParser.getParseResult().toMiniString());
Infos.setTerminalID(nTerminalID);
DatabaseHelper.logLocationInfosForSingleCall(Infos);
//打印信息
MyTime mtCurrent = new MyTime();
strMessage = "设备响应 " + Integer.toString(nTerminalID)
+ " 号终端 " + Integer.toString(nDeviceID)
+ " 号设备的单呼命令 " + mtCurrent.toString();
CommonLogger.Info("设备响应单呼命令(GSM)", strMessage);
break;
}
//导航设备向指定的监控终端发送连呼位置信息,命令码值为:4
case DEVICE_RESPONSE_CONTINUE_CALL_LOCATION_INFOS_TERMINAL:
{
//Modify by zfs 2004.01.10,忽略非法GPS数据包
if (strReadBuffer.length() < 50)
break;
String strData = parser.getDataBody();
if (strData == null)
break;
LocationInfosParser locationParser = new LocationInfosParser(strData);
locationParser.parse();
//获取监控终端的信息
int nTerminalID = locationParser.getTerminalID();
if (nTerminalID == 0)
break;
Terminal terminal = ApplicationContext.terminalsQueue.findTerminalByID(nTerminalID);
if (terminal == null)
break;
//获取监控设备的信息
int nDeviceID = locationParser.getDeviceID();
if (nDeviceID == 0)
break;
String strMessage;
SendServerHelper ssHelper = ApplicationContext.sendServer.ssHelperQueue.getHelperByDeviceID(nDeviceID);
if (ssHelper == null) {
strMessage = "监控终端 " + nDeviceID + " 未注册!";
CommonLogger.Info("ReceiveServerHelper", strMessage);
break;
}
//if (ssHelper.isClosed()) {
// strMessage = "监控终端 " + nDeviceID + " 对应的Socket已关闭!";
// CommonLogger.Info("ReceiveServerHelper", strMessage);
// break;
//}
//发送数据
ssHelper.write(strReadBuffer);
//记录连呼位置信息
ContinueCallLocationInfos Infos = new ContinueCallLocationInfos();
Infos.setOperatorID(terminal.getLogOperateInfos().getOperatorID());
Infos.setDeviceID(nDeviceID);
Infos.setLocationDate(locationParser.getParseResult().getLocationDate());
Infos.setLocationInfos(locationParser.getParseResult().toMiniString());
Infos.setPlanID(locationParser.getParseResult().getPlanID());
Infos.setTerminalID(nTerminalID);
DatabaseHelper.logLocationInfosForContinueCall(Infos);
strMessage = "设备响应 " + Integer.toString(nTerminalID)
+ " 号终端 " + Integer.toString(nDeviceID)
+ " 号设备的连呼命令";
CommonLogger.Info("设备响应连呼命令(GSM)", strMessage);
break;
}
//智能导航设备向指定的监控终端发送响应连呼停止消息,命令码值为:5
case DEVICE_RESPONSE_STOP_CONTINUE_CALL_TERMINAL:
{
String strData = parser.getDataBody();
if (strData == null)
break;
RequestParser rParser = new RequestParser(strData);
rParser.parse();
//获取监控终端的信息
int nTerminalID = rParser.getTerminalID();
if (nTerminalID == 0)
break;
Terminal terminal = ApplicationContext.terminalsQueue.findTerminalByID(nTerminalID);
if (terminal == null)
break;
//获取监控设备的信息
int nDeviceID = rParser.getDeviceID();
if (nDeviceID == 0)
break;
SendServerHelper ssHelper = ApplicationContext.sendServer.ssHelperQueue.getHelperByDeviceID(nDeviceID);
String strMessage;
if (ssHelper != null) {
strMessage = "监控终端 " + nDeviceID + " 未注册!";
CommonLogger.Info("ReceiveServerHelper", "监控终端未注册!");
}
//if (ssHelper.isClosed()) {
// strMessage = "监控终端 " + nDeviceID + " 对应的Socket已关闭!";
// CommonLogger.Info("SMSServerHelper", strMessage);
// break;
//}
//发送数据
ssHelper.write(strReadBuffer);
long nPlanID = rParser.getPlanID();
strMessage = "设备响应停止 " + Integer.toString(nTerminalID)
+ " 号终端 " + Integer.toString(nDeviceID)
+ " 号设备的 " + Long.toString(nPlanID)
+ " 号计划";
CommonLogger.Info("设备响应停止连呼命令(GSM)", strMessage);
break;
}
//导航设备响应监控终端发送的命令,命令码值为:6
case DEVICE_RESPONSE_COMMAND_FROM_TERMINAL:
{
String strData = parser.getDataBody();
String strBody = parser.getCommandBody();
CommandParser cParser = new CommandParser(strData, strBody);
cParser.parse();
//获取监控设备的信息
int nTerminalID = cParser.getTerminalID();
if (nTerminalID == 0)
break;
Terminal terminal = ApplicationContext.terminalsQueue.findTerminalByID(nTerminalID);
if (terminal == null)
break;
//获取监控设备的信息
int nDeviceID = cParser.getDeviceID();
if (nDeviceID == 0)
break;
SendServerHelper ssHelper = ApplicationContext.sendServer.ssHelperQueue.getHelperByDeviceID(nDeviceID);
String strMessage;
if (ssHelper == null) {
strMessage = "监控终端 " + nDeviceID + " 未注册!";
CommonLogger.Info("SMSServerHelper", "监控终端未注册!");
break;
}
//if (ssHelper.isClosed()) {
// strMessage = "监控终端 " + nDeviceID + " 对应的Socket已关闭!";
// CommonLogger.Info("SMSServerHelper", strMessage);
// break;
//}
//发送数据
ssHelper.write(strReadBuffer);
//打印信息
strMessage = "设备响应停止 " + Integer.toString(nTerminalID)
+ " 号终端 " + Integer.toString(nDeviceID)
+ " 号设备的命令";
CommonLogger.Info("设备响应停止连呼命令(GSM)", strMessage);
break;
}
//监控设备向监控设备发送位置信息请求,命令码值为:7
case DEVICE_REQUEST_LOCALTION_INFOS_DEVICE:
{
//解析网络数据包
CommandParserEx cParser = new CommandParserEx(strReadBuffer);
cParser.parse();
//获取发送位置请求的监控设备的编号
int nDeviceID = cParser.getOriginDeviceID();
if (nDeviceID == 0)
break;
//获取目标设备的个数
int nDeviceCount = cParser.getTargetDeviceCount();
if (nDeviceCount == 0)
break;
int nTargetDeviceID;
String strMessage;
for (int nIndex = 0; nIndex < nDeviceCount; nIndex++) {
nTargetDeviceID = cParser.getDeviceID(nIndex);
if (nTargetDeviceID == 0)
continue;
//获取目的设备的通讯方式
Device device = ApplicationContext.devicesQueue.findDeviceByID(nTargetDeviceID);
if (device == null) {
strMessage = "监控设备 " + nTargetDeviceID + " 为系统非法设备!";
CommonLogger.Info("SMSServerHelper", strMessage);
continue;
}
//获取设备的通讯状态
int nDeviceCommState = device.getDeviceCommunicationState();//ApplicationContext.devicesQueue.getDeviceState(nTargetDeviceID);
if (nDeviceCommState == UNREGISTER_STATE) {
strMessage = "监控设备 " + nTargetDeviceID + " 已注销!";
CommonLogger.Info("SMSServerHelper", strMessage);
continue;
}
//if (nDeviceCommState == REGISTERED_SPEECHING_STATE) {
// strMessage = "监控设备 " + nTargetDeviceID + " 监控设备处于语音通话状态!";
// CommonLogger.Info("SMSServerHelper", strMessage);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -