📄 recv.java
字号:
package test;
import spApi.*;
import java.net.*;
import java.io.*;
public class recv {
public static void main(String[] args) {
new recv();
}
public recv() {
ServerSocket serversocket = null;
Socket so = null;
OutputStream output = null;
InputStream input = null;
SGIP_Command command = null;
try {
serversocket = new ServerSocket(8801);
so = serversocket.accept();
input = so.getInputStream();
output = so.getOutputStream();
command = new SGIP_Command();
SGIP_Command tmpCMD = null;
Deliver deliver = null;
DeliverResp deliverresp = null;
Report report = null;
ReportResp reportresp = null;
Userrpt userrpt = null;
UserrptResp userrptresp = null;
Bind active = null;
Unbind term = null;
BindResp resp = null;
UnbindResp Unresp = null;
Submit submit=null;
SubmitResp submitResp=null;
boolean loop = true;
while (loop) {
tmpCMD = command.read(input);// 接收sgip消息
switch (tmpCMD.getCommandID()) {
case SGIP_Command.ID_SGIP_BIND:
{
System.out.println("+++++++++++++++++++++++ Bind +++++++++++++++++++++++++");
active = (Bind) tmpCMD;// 强制转换
active.readbody();// 解包
System.out.println("Bind_TotalLength---->"+tmpCMD.getTotalLength());
System.out.println("Bind_CommandID---->"+tmpCMD.getCommandID());
System.out.println("Bind_Seqno_1---->"+tmpCMD.getSeqno_1());
System.out.println("Bind_Seqno_2---->"+tmpCMD.getSeqno_2());
System.out.println("Bind_Seqno_3---->"+tmpCMD.getSeqno_3());
System.out.println("Bind_LoginType---->"+active.GetLoginType());
System.out.println("Bind_LoginName---->"+active.GetLoginName());
System.out.println("Bind_LoginPassword---->"+active.GetLoginPassword());
resp = new BindResp(tmpCMD.getMsgHead());
resp.SetResult(0);
resp.write(output);
break;
}
case SGIP_Command.ID_SGIP_SUBMIT: {
System.out.println("+++++++++++++++++++++++++ Submit +++++++++++++++++++++++");
submit=(Submit)tmpCMD;
// submit.read(input);
// submit.print();
System.out.println("Submit_TotalLength---->"+tmpCMD.getTotalLength());
System.out.println("Submit_CommandID---->"+tmpCMD.getCommandID());
System.out.println("Submit_Seqno_1---->"+tmpCMD.getSeqno_1());
System.out.println("Submit_Seqno_2---->"+tmpCMD.getSeqno_2());
System.out.println("Submit_Seqno_3---->"+tmpCMD.getSeqno_3());
System.out.println("Submit_CommandID---->"+submit.getCommandID());
System.out.println("Submit_SPNumber---->"+submit.getSPNumber());
System.out.println("Submit_ChargeNumber---->"+submit.getChargeNumber());
System.out.println("Submit_UserCount---->"+submit.getUserCount());
System.out.println("Submit_CorpId---->"+submit.getCorpId());
// String[] str=submit.getUserNumber();
// for(int i=0;i<str.length;i++){
// System.out.println("用户手机号码---->"+str[i]);
// }
System.out.println("用户手机号码---->"+submit.getUserNumber());
System.out.println("Submit_ServiceType---->"+submit.getServiceType());
System.out.println("Submit_FeeType---->"+submit.getFeeType());
System.out.println("Submit_FeeValue---->"+submit.getFeeValue());
System.out.println("Submit_GivenValue---->"+submit.getGivenValue());
System.out.println("Submit_AgentFlag---->"+submit.getAgentFlag());
System.out.println("Submit_MOrelatetoMTFlag---->"+submit.getMOrelatetoMTFlag());
System.out.println("Submit_Priority---->"+submit.getPriority());
System.out.println("Submit_ExpireTime---->"+submit.getExpireTime());
System.out.println("Submit_ScheduleTime---->"+submit.getScheduleTime());
System.out.println("Submit_ReportFlag---->"+submit.getReportFlag());
System.out.println("Submit_TP_pid---->"+submit.getTP_pid());
System.out.println("Submit_TP_udhi---->"+submit.getTP_udhi());
System.out.println("Submit_MessageCoding---->"+submit.getMessageCoding());
System.out.println("Submit_MessageType---->"+submit.getMessageType());
System.out.println("Submit_MessageLength---->"+submit.getMessageLength());
System.out.println("Submit_MessageContent---->"+submit.getMessageContent());
System.out.println("Submit_ScheduleTime---->"+submit.getScheduleTime());
submitResp=new SubmitResp(tmpCMD.getMsgHead());
submitResp.write(output);
break;
}
case SGIP_Command.ID_SGIP_UNBIND: {
System.out.println("+++++++++++++++++++++++++ Unbind +++++++++++++++++++++++");
term = (Unbind) tmpCMD;// 强制转换
// int result=term.readbody();
System.out.println("消息长度---->"+tmpCMD.getTotalLength());
System.out.println("消息的代码---->"+tmpCMD.getCommandID());
System.out.println("消息的第一编码---->"+tmpCMD.getSeqno_1());
System.out.println("消息的第二编码---->"+tmpCMD.getSeqno_2());
System.out.println("消息的第二编码---->"+tmpCMD.getSeqno_3());
System.out.println("消息的标记---->"+term.GetFlag());
Unresp = new UnbindResp(tmpCMD.getMsgHead());// node id
// 3+AAAA+CP_id,
// AAAA是长途区号
Unresp.write(output);
loop = false;
break;
}
case SGIP_Command.ID_SGIP_DELIVER: {
System.out.println("++++++++++++++++++++++++++ Deliver ++++++++++++++++++++++");
deliver = (Deliver) tmpCMD;// 强制转换
deliver.print();
// deliver.readbody();// 解包
System.out.println("消息的长度---->"+deliver.getTotalLength());
System.out.println("命令代码号---->"+deliver.getCommandID());
System.out.println("消息的第一序号---->"+deliver.getSeqno_1());
System.out.println("消息的第二序号---->"+deliver.getSeqno_2());
System.out.println("消息的第三序号---->"+deliver.getSeqno_3());
System.out.println("接收该短信的手机号---->"+deliver.getUserNumber());
System.out.println("sp端接入号---->"+deliver.getSPNumber());
System.out.println("GSM协议类型---->"+deliver.getTP_pid());
System.out.println("GSM协议类型---->"+deliver.getTP_udhi());
System.out.println("消息的编码---->"+deliver.getMessageCoding());
System.out.println("消息的长度---->"+deliver.getMessageLength());
System.out.println("消息的内容---->"+deliver.getMessageContent());
deliverresp = new DeliverResp(tmpCMD.getMsgHead());// result
deliverresp.SetResult(0);
deliverresp.write(output);
break;
}
case SGIP_Command.ID_SGIP_REPORT: {
System.out.println("+++++++++++++++++++++++ Report +++++++++++++++++++++++++");
report = (Report) tmpCMD;// 强制转换
report.readbody();// 解包
System.out.println(tmpCMD.getTotalLength());
System.out.println(tmpCMD.getCommandID());
System.out.println(tmpCMD.getSeqno_1());
System.out.println(tmpCMD.getSeqno_2());
System.out.println(tmpCMD.getSeqno_3());
System.out.println(report.getSeq_1());
System.out.println(report.getSeq_2());
System.out.println(report.getSeq_3());
System.out.println(report.getReportType());
System.out.println(report.getUserNumber());
System.out.println(report.getState());
System.out.println(report.getErrorCode());
reportresp = new ReportResp(tmpCMD.getMsgHead());// result
reportresp.SetResult(0);
reportresp.write(output);
break;
}
case SGIP_Command.ID_SGIP_USERRPT: {
System.out.println("++++++++++++++++++++++++++ Userrpy ++++++++++++++++++++++");
userrpt = (Userrpt) tmpCMD;// 强制转换
userrpt.readbody(); // 解包
System.out.println(tmpCMD.getTotalLength());
System.out.println(tmpCMD.getCommandID());
System.out.println(tmpCMD.getSeqno_1());
System.out.println(tmpCMD.getSeqno_2());
System.out.println(tmpCMD.getSeqno_3());
System.out.println(userrpt.getSPNumber());
System.out.println(userrpt.getUserNumber());
System.out.println(userrpt.getUserCondition());
userrptresp = new UserrptResp(tmpCMD.getMsgHead());
userrptresp.SetResult(12);
userrptresp.write(output);
break;
}
}
}
so.close();
} catch (Exception e) {
System.out.println(e.toString());
} finally {
try {
System.in.read();
// it just for debug
} catch (Exception s) {
System.out.println(s.toString());
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -