📄 send.java
字号:
package test;
import spApi.*;
import java.net.*;
import java.io.*;
public class send {
public static void main(String[] args) {
new send();
}
public send() {
Socket so = null;
OutputStream out = null;
InputStream input = null;
Bind command = null;
SGIP_Command sgip = null;
SGIP_Command tmp = null;
int i = 0;
try {
sgip = new SGIP_Command();
command = new Bind(399000,// nodeID 3+CP_ID
1, // login type
"lixin",// login name
"lixin");// login password
int err;
byte[] byte_content = new byte[140];
Deliver deliver = null;
DeliverResp deliverResp = null;
Submit submit = null;
SubmitResp submitresp = null;
Unbind term = null;
BindResp resp = null;
UnbindResp Unresp = null;
so = new Socket("127.0.0.1", 8801);
out = new DataOutputStream(so.getOutputStream());
input = new DataInputStream(so.getInputStream());
// command=new Bind(399000);
// command.SetLoginType(1);
// command.SetLoginName("zhao");
// command.SetLoginPassword("zhao");
err = command.write(out);// 发送bind
if (err != 0) {
System.out.println("err" + err);
}
tmp = sgip.read(input);// 接收sgip消息
if (sgip.getCommandID() == SGIP_Command.ID_SGIP_BIND_RESP) {
System.out
.println("++++++++++++++++++++++ BindResp +++++++++++++++++++++");
resp = (BindResp) tmp;// 强制转换为bindresp
resp.readbody();// 对消息进行解包
System.out.println("BindRespSeqno_1---->" + tmp.getSeqno_1());
System.out.println("BindRespSeqno_2---->" + tmp.getSeqno_2());
System.out.println("BindRespSeqno_3---->" + tmp.getSeqno_3());
System.out.println("BindRespResult ---->" + resp.GetResult());
}
for (i = 0; i < 140; i++) {
byte_content[i] = 51;
i++;
byte_content[i] = 51;
i++;
byte_content[i] = 52;
i++;
byte_content[i] = 53;
i++;
byte_content[i] = 54;
i++;
byte_content[i] = 55;
i++;
byte_content[i] = 56;
i++;
byte_content[i] = 57;
i++;
byte_content[i] = 58;
i++;
byte_content[i] = 59;
}
/**
submit = new Submit(399000);
submit.setSPNumber("900000");
submit.setChargeNumber("8613000061234");
submit.setUserCount(2);
submit.setUserNumber("8613088888888,8613099999999");
submit.setCorpId("99000");
submit.setServiceType("短信息");
submit.setFeeType(0);
submit.setFeeValue("500");
submit.setGivenValue("500");
submit.setAgentFlag(1);
submit.setMOrelatetoMTFlag(1);
submit.setPriority(9);
submit.setExpireTime("12:00");
submit.setScheduleTime("1:00");
submit.setReportFlag(1);
submit.setTP_pid(1);
submit.setTP_udhi(1);
submit.setMessageCoding(15);
submit.setMessageType(0);
submit.setMessageLength(12);
submit.setMessageContent("123456789");
*/
submit = new Submit(399000,// node id同上long
"900000",// cp_phone string1
"8613000061234",// 付费号码 string2
2,// 接收短消息的手机数int1
"8613088888888,8613099999999",// 手机号码前面加86 string 3
"99000",// cp_id string4
"短信息",// 业务代码 string5
0,// 计费类型 int 2
"500",// 短消息收费值 string 6
"500",// 赠送话费 string 7
1,// 代收标志 int 3
1,// 引起MT的原因 int 4
9,// 优先级 int 5
"12:00",// 短消息终止时间 string 8
"1:00",// 011125120000032+短消息定时发送时间 string 9
1,// 状态报告标志 int 6
1,// GSM协议类型 int 7
1,// GSM协议类型 int 8
15,// 短消息编码格式 int 9
0,// 信息类型 int 10
12,// 短消息长度 int 11
"123456789012");// 短消息内容 string 10
submit.write(out);// 发送submit
tmp = sgip.read(input);
if (tmp.getCommandID() == SGIP_Command.ID_SGIP_SUBMIT_RESP) {
System.out
.println("++++++++++++++++++++++ SubmitResp ++++++++++++++++++\n");
submitresp = (SubmitResp) tmp;// 强制转换
submitresp.readbody();// 解包
System.out
.println("submitResp'Seqno_1---->" + tmp.getSeqno_1());
System.out
.println("submitResp'Seqno_2---->" + tmp.getSeqno_2());
System.out
.println("submitResp'Seqno_3---->" + tmp.getSeqno_3());
System.out.println("submitResp'Result ---->"
+ submitresp.getResult());
}
DeliverData deliverdata=new DeliverData();
String d=deliverdata.data();
// System.out.print(d);
// String sb=dd.data();
deliver = new Deliver(399000,// nodeID
"8613205558888",// 发送短消息的用户手机号
"222",// SP的接入号码
0,// GSM协议类型
0,// GSM协议类型
1,// 短消息的编码格式。
10,// 短消息的长度
d// 短消息的内容
);
deliver.write(out);
tmp = sgip.read(input);
if (tmp.getCommandID() == SGIP_Command.ID_SGIP_DELIVER_RESP) {
deliverResp = (DeliverResp) tmp;
deliver.print();
System.out
.println("++++++++++++++++++++++ DeliverResp ++++++++++++++++++\n");
System.out.println("deliverResp_CommandID---->"
+ tmp.getCommandID());
System.out.println("消息的长度---->" + deliverResp.getTotalLength());
System.out.println("消息的头部---->" + deliverResp.getMsgHead());
System.out.println("消息的第一序号---->" + deliverResp.getSeqno_1());
System.out.println("消息的第二序号---->" + deliverResp.getSeqno_2());
System.out.println("消息的第三序号---->" + deliverResp.getSeqno_3());
}
term = new Unbind(399000);
term.write(out);// 发送unbind
tmp = sgip.read(input);
if (sgip.getCommandID() == SGIP_Command.ID_SGIP_UNBIND_RESP) {
System.out
.println("+++++++++++++++++++++++++UnbidResp++++++++++++++++++++++\n");
Unresp = (UnbindResp) tmp;
System.out.println("UnbindResp_Seqno_1" + tmp.getSeqno_1());
System.out.println("UnbindResp_Seqno_2" + tmp.getSeqno_2());
System.out.println("UnbindResp_Seqno_3" + tmp.getSeqno_3());
}
out.close();
so.close();
} catch (SGIP_Exception e) {
System.out.println(e.toString());
} catch (Exception e) {
System.out.println(e.toString());
} finally {
try {
System.in.read();
} catch (Exception s) {
System.out.println(s.toString());
}
}
}
}
/*
* submit.setContent(0,"123"); submit.setBinContent(10,byte_content); submit=new
* Submit(399000); submit.setSPNumber("9200");
* submit.setChargeNumber("8613055555678");
* submit.setUserNumber("8613055551230,8613055551231");
* submit.setCorpId("99001"); submit.setServiceType("123");
* submit.setFeeType(2); submit.setFeeValue("50000");
* submit.setGivenValue("50001"); submit.setAgentFlag(2);
* submit.setMOrelatetoMTFlag(3); submit.setPriority(8);
* submit.setExpireTime("011125120000032+");
* submit.setScheduleTime("011125120000032+"); submit.setReportFlag(0);
* submit.setTP_pid(1); submit.setTP_udhi(64); submit.setMessageType(1);
* submit.setBinContent(10,byte_content); submit.setContent(0,"1234");
*
* 该构造函数中各个参数的意义同上
*
* submit = new Submit(399000, "9000", "8613000061234", 2, "8613000061231,
* 8613000061233", "99000", "", 0, "500", "50 0", 1, 1, 9, "", "", 1, 1, 1, 4,
* 0, 140, byte_content);
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -