我在做一个类似QQ的即时通讯系统。(采用UDP方式)
现在要给多个好友发送多条消息。如果好友成功收到一条则返回一条信息已示成功,否则超过一定时间没收到则再次发送。(即保证每条信息都能成功收到)(要发送给多个好友多条信息!)采用程序方式如何处理这样的方法?请大家给个思路。谢谢!
现在要给多个好友发送多条消息。如果好友成功收到一条则返回一条信息已示成功,否则超过一定时间没收到则再次发送。(即保证每条信息都能成功收到)(要发送给多个好友多条信息!)采用程序方式如何处理这样的方法?请大家给个思路。谢谢!
//思路就是将你要发送的用户类似一个数组将它们保存起来 //生成一个新的套节字与客户端通讯
CClientSocket* pSocket = new CClientSocket(this); if (m_pSocket->Accept(*pSocket))
{
//将该套节字保存起来
m_connectionList.AddTail(pSocket);
}
else
delete pSocket;
for(POSITION pos = m_connectionList.GetHeadPosition(); pos != NULL;)
{
//将新信息发送给每个客户端
CClientSocket* pSocket = (CClientSocket*)m_connectionList.GetNext(pos);
if (buffer != NULL)
{
pSocket->Send(buffer,nBufferSize,0);
//在这里增加检查好友成功收到一条则返回一条信息
//否则超过一定时间没收到则再次发送(TIMER)
}
}//其它就是发送,接收信息和TIMER设置时间判别的问题了
这种方式如何处理?