CMPP群发的问题。(100分)

  • 主题发起人 主题发起人 Rurama
  • 开始时间 开始时间
R

Rurama

Unregistered / Unconfirmed
GUEST, unregistred user!
现在就是群发的时候不是活的。我定义了两个结构如下,(注¥¥¥为问题所在)
struct MY_MSISDN
{
char Object_Phone[21];
};
struct CMPP_Total_SUBMIT_tag//SP向ISMG提交短信(在应用层连接上后此处即msgSend_A与msgAnswer_A返回0后)
{
……………
unsigned char DestUsr_tl;
//接收信息的用户数量(小于100个用户)
(¥¥¥) MY_MSISDN Dest_terminal_Id[10];
//接收短信的MSISDN号码,想写成MY_MSISDN *Dest_terminal_Id;
unsigned char Msg_Length;
//信息长度(Msg_Fmt值为0时:<160 个字节;其它<=140个字节)
char Msg_Content[140];
//信息内容
char Reserve[8];
//保留
};
在程序中是这样生明的变量
CMPP_Total_SUBMIT_tag *bufdata;
bufdata=new(CMPP_Total_SUBMIT_tag);
memset(bufdata,0,sizeof(CMPP_Total_SUBMIT_tag));
bufdata->Total_Length = htonl(159+21*(iDestUsr_tl-1)*sizeof(char)+msg.Length());
现在bufdata中的Dest_terminal_Id是只能发10个用户的数组。我想把它变成可以发任意的用户的数组,应怎么做啊,在结构定义中我想采用指针的形式,但不行啊,那样数据就不对了,我想把它定义成AnsiString但我不知怎样让它实现我发送时的功能。如下是在数组时的发送情况
AnsiString sSplitPhone;
while ( i<iDestUsr_tl )
{
sSplitPhone = SplitPhone(phone);
memcpy(bufdata->Dest_terminal_Id.Object_Phone,sSplitPhone.c_str(),11);
i++;
}
bufdata->Msg_Length = msg.Length();
strcpy(bufdata->Msg_Content,msg.c_str());
frmMain->sckClient->Socket->SendBuf(bufdata,159+21*(iDestUsr_tl-1)*sizeof(char)+msg.Length());
帮帮忙啊。:)
 
分着写啦。
 
后退
顶部