******************响应bind请求错误***********************''''); exit; end; end else if commandI=SGIP_DELIVER then begin memo1.Lines.Add(''''********************接收到SGIP_DELIVER请求********************''''); DeSize:=SizeOf(cDeliver); FillChar(cDeliver,SizeOf(cDeliver),0); FillChar(cDeliver_Resp,SizeOf(cDeliver_Resp),0); RecvSize2:=Socket.ReceiveBuf(cDeliver,MessageSize-RecvSize1); if (RecvSize2+RecvSize1)<>MessageSize then begin memo1.Lines.Add(''''**********************SGIP_DELIVER数据接收错误*******************''''); exit; end; RecvSize2:=0;RecvSize1:=0; cHead.CommandId:=htonl(SGIP_DELIVER_RESP); cHead.MessageLength:=htonl(sizeof(cHead)+sizeof(cDeliver_Resp)); cDeliver_Resp.Result:=0; RecvSize1:=Socket.SendBuf(cHead,SizeOf(cHead)); RecvSize2:=Socket.SendBuf(cDeliver_Resp,SizeOf(cDeliver_Resp)); if (RecvSize1+RecvSize2)<>ntohl(cHead.MessageLength) then begin memo1.Lines.Add(''''**********************响应SGIP_DELIVER请求错误***********************''''); exit; end; end else if commandI=SGIP_UNBIND then begin cHead.CommandId:=htonl(SGIP_UNBIND_RESP); cHead.MessageLength:=htonl(sizeof(cHead)); memo1.Lines.Add(''''响应SGIP_UNBIND***************************''''); RecvSize2:=Socket.SendBuf(cHead,sizeOf(cHead)); if RecvSize2<>ntohl(cHead.MessageLength) then begin memo1.Lines.Add(''''**********************SGIP_UNBIND发送错误*****************''''); exit; end; end else begin end; end; end.
//.............................................................. file://协议 unit xy;
interface uses SysUtils; const SGIP_BIND =$1; file://对客户端验证 SGIP_BIND_RESP =$80000001; file://服务端返回验证请求 SGIP_UNBIND =$2; file://断开连接 SGIP_UNBIND_RESP =$80000002; file://返回断开连接状态 SGIP_SUBMIT =$3; file://向SMG提交MT短消息 SGIP_SUBMIT_RESP =$80000003; file://返回SP提交MT短消息状态 SGIP_DELIVER =$4; file://SMG向SP发送一条MO短消息 SGIP_DELIVER_RESP =$80000004; file://返回SMG状态 SGIP_REPORT =$5; file://向SP发送一条先前的submit命令的当前状态 SGIP_REPORT_RESP =$80000005; file://响应SMG状态 file://以下协议对SP无用 SGIP_ADDSP =$6; // SGIP_ADDSP_RESP =$80000006; // SGIP_MODIFYSP =$7; // SGIP_MODIFYSP_RESP =$80000007; // SGIP_DELETESP =$8; // SGIP_DELETESP_RESP =$80000008; // SGIP_QUERYROUTE =$9; // SGIP_QUERYROUTE_RESP =$80000009; // SGIP_ADDTELESEG =$a; // SGIP_ADDTELESEG_RESP =$8000000a; // SGIP_MODIFYTELESEG =$b; // SGIP_MODIFYTELESEG_RESP =$8000000b; // SGIP_DELETETELESEG =$c; // SGIP_DELETETELESEG_RESP =$8000000c; // SGIP_ADDSMG =$d; // SGIP_ADDSMG_RESP =$8000000d; // SGIP_MODIFYSMG =$e; // SGIP_MODIFYSMG_RESP =$0000000e; // SGIP_DELETESMG =$f; // SGIP_DELETESMG_RESP =$8000000f; // SGIP_CHECKUSER =$10; // SGIP_CHECKUSER_RESP =$80000010; // SGIP_USERRPT =$11; // SGIP_USERRPT_RESP =$80000011; // SGIP_TRACE =$1000; // SGIP_TRACE_RESP =$80001000; // type TEMPTY=Record file://空纪录 end; file://消息头 SGIPHead=Record MessageLength :longword; file://消息的总长度(字节) CommandId :longword; file://命令ID SNumber1,SNumber2,SNumber3:longword; file://序列号 end; file://消息体 XBind=Record // LonginType :byte; LonginPass :array[0..15] of char; LonginName :array[0..15] of char; Reserve :array[0..7] of char; end; Bind_Resp=Record Result :byte; Reserve :array[0..7] of char; end; // Unbind=TEMPTY; Unbind_Resp=TEMPTY; // TelCount=record file://手机号码 TelN :array[0..20] of char; end; XSubmit=Record SPNumber :array[0..20] of char; ChargeNumber :array[0..20] of char; UserCount :byte; file://1-100 UserNumber :array[0..20] of char;//TelCount; file://长度为UserCount CorpID :array[0..4] of char; ServiceType :array[0..9] of char; FeeType :byte; FeeValue :array[0..5] of char; GivenValue :array[0..5] of char; AgentFlag :byte; MOrelatetoMTFlag :byte; Priority : 上一页 [1] [2] [3] [4] [5] 下一页 |