📄 smsserverhelper.java
字号:
// continue;
//}
//如果目的设备的通讯处于GPRS方式
if (nDeviceCommState == REGISTERED_GPRS_STATE) {
ReceiveServerHelper rsHelper = ReceiveServer.rsHelperQueue.getHelperByDeviceID(nTargetDeviceID);
if (rsHelper == null) {
strMessage = "监控设备 " + nTargetDeviceID + " 未注册!";
CommonLogger.Info("SMSServerHelper", strMessage);
continue;
}
//if (rsHelper.isClosed()) {
// strMessage = "监控设备 " + nTargetDeviceID + " 对应Socket端口已关闭!";
// CommonLogger.Info("SMSServerHelper", strMessage);
// continue;
//}
//发送数据
String strCommand = cParser.getCommandText(nTargetDeviceID);
rsHelper.write(strCommand);
strMessage = "监控设备 " + Integer.toString(nDeviceID)
+ " 请求 " + Integer.toString(nTargetDeviceID)
+ " 号监控设备发送位置信息";
CommonLogger.Info("设备请求位置信息命令(GPRS)", strMessage);
continue;
} //END OF IF(nDeviceState == REGISTERED_GPRS_STATE)
//如果目的设备的通讯处于SMS方式
if (nDeviceCommState == REGISTERED_SMS_STATE) {
//发送数据
String strSMS = cParser.getCommandText(nTargetDeviceID);
String strMobile = device.getDeviceInfos().getMobileCard();
sb.sendSMS(strMobile, strSMS);
strMessage = "监控设备 " + Integer.toString(nDeviceID)
+ " 请求 " + Integer.toString(nTargetDeviceID)
+ " 号监控设备发送位置信息";
CommonLogger.Info("设备请求位置信息命令(GSM)", strMessage);
continue;
} //END OF IF(nDeviceCommState == REGISTERED_SMS_STATE)
} // END OF FOR
break;
} //END OF CASE
//导航设备向导航设备发送停止位置信息发送请求,命令码值为:8
case DEVICE_REQUEST_STOP_LOCALTION_INFOS_DEVICE:
{
CommandParserEx cmdParser = new CommandParserEx(strReadBuffer);
//CommandParserEx cmdParser = new CommandParserEx(strReadBuffer);
cmdParser.parse();
int nDeviceID = cmdParser.getOriginDeviceID();
if (nDeviceID == 0)
break;
String strMessage;
int nTargetDeviceID;
int nCount = cmdParser.getTargetDeviceCount();
for (int nIndex = 0; nIndex < nCount; nIndex++) {
nTargetDeviceID = cmdParser.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);
// continue;
//}
if (nDeviceCommState == REGISTERED_GPRS_STATE) {
ReceiveServerHelper rsHelper = ReceiveServer.rsHelperQueue.getHelperByDeviceID(nTargetDeviceID);
if (rsHelper == null) {
strMessage = "监控设备 " + nTargetDeviceID + " 未注册!";
CommonLogger.Info("SMSServerHelper", strMessage);
continue;
}
//if (rsHelper.isClosed()) {
// strMessage = "监控设备 " + nTargetDeviceID + " 对应Socket端口已关闭!";
// CommonLogger.Info("SMSServerHelper", strMessage);
// continue;
//}
//发送命令
String strCommandText = cmdParser.getCommandTextEx();
rsHelper.write(strCommandText);
strMessage = "监控设备 " + Integer.toString(nDeviceID)
+ " 请求 " + Integer.toString(nTargetDeviceID)
+ " 号监控设备停止发送位置信息";
CommonLogger.Info("设备请求停止发送位置信息命令(GPRS)", strMessage);
continue;
}
//如果目的设备的通讯处于SMS方式
if (nDeviceCommState == REGISTERED_SMS_STATE) {
//发送数据
String strSMS = cmdParser.getCommandTextEx();
String strMobile = device.getDeviceInfos().getMobileCard();
sb.sendSMS(strMobile, strSMS);
strMessage = "监控设备 " + Integer.toString(nDeviceID)
+ " 请求 " + Integer.toString(nTargetDeviceID)
+ " 号监控设备发送位置信息";
CommonLogger.Info("设备请求位置信息命令(GSM)", strMessage);
}
} //END OF FOR
break;
} // END OF CASE
//导航设备响应导航设备请求发送位置信息,命令码值为:9
case DEVICE_RESPONSE_LOCATION_INFOS_DEVICE:
{
//解析网络数据包
ResponseParser rParser = new ResponseParser(strReadBuffer);
rParser.parse();
//获取被监控的设备的编号
int nDeviceID = rParser.getOriginDeviceID();
if (nDeviceID == 0)
break;
int nTargetDeviceID;
String strMessage;
int nCount = rParser.getDeviceIDCount();
for (int nIndex = 0; nIndex < nCount; nIndex++) {
nTargetDeviceID = Integer.parseInt(rParser.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);
// continue;
//}
//如果目的设备的通讯处于GPRS方式
if (nDeviceCommState == REGISTERED_GPRS_STATE) {
ReceiveServerHelper rsHelper = ReceiveServer.rsHelperQueue.getHelperByDeviceID(nTargetDeviceID);
if (rsHelper == null) {
strMessage = "监控设备 " + nTargetDeviceID + " 未注册!";
CommonLogger.Info("SMSServerHelper", strMessage);
continue;
}
//if (rsHelper.isClosed()) {
// strMessage = "监控设备 " + nTargetDeviceID + " 对应Socket端口已关闭!";
// CommonLogger.Info("SMSServerHelper", strMessage);
// continue;
//}
//发送命令
String strCommandText = rParser.getCommandText();
rsHelper.write(strCommandText);
strMessage = "监控设备 " + Integer.toString(nDeviceID)
+ " 请求 " + Integer.toString(nTargetDeviceID)
+ " 号监控设备停止发送位置信息";
CommonLogger.Info("设备请求停止发送位置信息命令(GPRS)", strMessage);
continue;
}
//如果目的设备的通讯处于SMS方式
if (nDeviceCommState == REGISTERED_SMS_STATE) {
//发送数据
String strSMS = rParser.getCommandText();
String strMobile = device.getDeviceInfos().getMobileCard();
sb.sendSMS(strMobile, strSMS);
strMessage = "监控设备 " + Integer.toString(nDeviceID)
+ " 请求 " + Integer.toString(nTargetDeviceID)
+ " 号监控设备发送位置信息";
CommonLogger.Info("设备请求位置信息命令(GSM)", strMessage);
}
} //END OF FOR
break;
} //END OF CASE
//导航设备向后台服务获取导航设备的编号和SIM卡号,命令码值为:10
case DEVICE_REQUEST_DEVICES_INFOS_SERVER:
{
//解析网络数据包
String strData = parser.getDataBody();
if (strData == null)
break;
RequestParser rParser = new RequestParser(strData);
rParser.parse();
//获取设备的信息
int nDeviceID = rParser.getDeviceID();
if (nDeviceID == 0)
break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -