xumx - 2013-05-31

谷博士您好!我刚下您写的UDT源码,有个地方不解想问下您,我下的是4.11版本,在
测试Test_2_Srv的时候发现个情况,发现接收tcp数据那部分怎么出现重复多次打印最
后一个数据,次数等于g_TCPNum设置量,问下这个是什么原因造成的。代码我添加个打
印输出,输出结果在附近图片中。代码如下:

发送部分:

int32_t data = 0;

for (vector<UDTSOCKET>::iterator i = cli_socks.begin(); i !=
cli_socks.end(); ++ i)

{

UDT::send(*i, (char*)&data, 4, 0);

++ data;

}

data =0;

for (vector<SYSSOCKET>::iterator i = tcp_socks.begin(); i !=
tcp_socks.end(); ++ i)

{

send(*i, (char*)&data, 4, 0);

++ data;

}

接收部分:

UDT::epoll_wait(eid, &readfds, NULL, -1, &tcpread);

for (set<UDTSOCKET>::iterator i = readfds.begin(); i != readfds.end(); ++ i)

{

     int32_t data;

     UDT::recv(*i, (char*)&data, 4, 0);

     -- count;

     cout<<"UDT SOCKET RECV DATA:"<<data<<endl;

}

for (set<SYSSOCKET>::iterator i = tcpread.begin(); i != tcpread.end(); ++ i)

{

int32_t data;

recv(*i, (char*)&data, 4, 0);

-- count;

     cout<<"TCP SOCKET RECV DATA:"<<data<<endl;

}

还有个问题想咨询下您就是UDT适合弄多客户端的c/s结构的系统吗?因为我想试试用

这个进行开发,希望您给点意见和建议,谢谢了