紧急:我想给 多个 地址发同一数据包,不知写对了没有,好象处理代码没反应(50分)

  • 主题发起人 主题发起人 WorldCreater
  • 开始时间 开始时间
W

WorldCreater

Unregistered / Unconfirmed
GUEST, unregistred user!
void __fastcall TMdiMainForm::DoTransmit(TMessage &Msg)
{
AnsiString RevMsg = (char*)Msg.WParam;
AnsiString AnalyseAddr;
AnsiString Address="", Port="";
int i, j;
for( i=0; iCount; i++ )
{
AnalyseAddr = CopyToAddress->Strings;
for( j=1; j<=AnalyseAddr.Length() ; j++ )
{
while( AnalyseAddr.SubString(j,1) != ":" )
{
Address += AnalyseAddr.SubString(j,1);
j++;
}
j++;
while( j<=AnalyseAddr.Length() )
{
Port += AnalyseAddr.SubString(j,1);
j++;
}
}

if( WaitForSingleObject(hMutexTransmit,INFINITE) == WAIT_OBJECT_0 )
{
MoniClntSckt->Active = false;
MoniClntSckt->Address = Address;
MoniClntSckt->Port = StrToInt( Port );
FMoniTransmitMsg = RevMsg; //-----这是要转发的数据包
MoniClntSckt->Active = true;
}

// MoniClntSckt->Socket->SendText( RevMsg );
}
delete (void*)Msg.WParam;
}
//=============好象下面这段代码总是没反应
void __fastcall TMdiMainForm::ClntScktConnect(TObject *Sender,
TCustomWinSocket *Socket)
{
try
{
Socket->SendText( FMoniTransmitMsg );
}
__finally
{
ReleaseMutex( hMutexTransmit );
}
}
 
如果你是在局域网中发消息的话,你可以采用广播方式:
比如:你的 IP地址为199.199.199.1
你只需往 199.199.199.255发送即可,用ClientSocket也行,但最好是用UDP协议
你可以用Delphi自带的TNMUDP控件!
 
我只想给几个特定地址发数据包
请多多援手,这一两天内就要解决
有例程更好
不知多线程怎么写
 
我觉得这有点像灌水乐园
 
多人接受答案了。
 
后退
顶部