一个进程会有一个SOCKET资源列表


有如下代码

 

[cpp] view plaincopyprint?在CODE上查看代码片派生到我的代码片

  1. void TestSock()  

  2. {  

  3.     WSADATA wsaData; // winsock 结构体  

  4.     WORD wVersionRequested;// winsock 的版本  

  5.     // 配置 Windows Socket版本  

  6.     wVersionRequested = MAKEWORD( 2, 2 ); // 初始化 Windows Socket  

  7.     WSAStartup( wVersionRequested, &wsaData );  

  8.   

  9.     map<int,int>  map2;  

  10.     for (int i = 0; i< CNT; i++)  

  11.     {  

  12.         SOCKET sockServer = socket(AF_INET, SOCK_STREAM, 0);  

  13.         PRINT_LOG("%d,", sockServer);  

  14.         map2.insert(make_pair(sockServer,0));  

  15.     }  

  16.     PRINT_LOG("\r\n-------------\r\n");  

  17.   

  18.     map<int,int>::reverse_iterator it = map2.rbegin();  

  19.     while (it != map2.rend())  

  20.     {  

  21.         closesocket(it->first);  

  22.         PRINT_LOG("%d,", it->first);  

  23.   

  24.         ++it;  

  25.     }  

  26.     PRINT_LOG("\r\n-------------\r\n");  

  27.   

  28.     for (int i = 0; i< CNT; i++)  

  29.     {  

  30.         SOCKET sockServer = socket(AF_INET, SOCK_STREAM, 0);  

  31.         PRINT_LOG("%d,", sockServer);  

  32.         map2.insert(make_pair(sockServer,0));  

  33.     }  

  34.     PRINT_LOG("\r\n-------------\r\n");  

  35.   

  36. }  




输出


216,220,224,228,232,236,240,244,248,252,
-------------
252,248,244,240,236,232,228,224,220,216,
-------------
216,220,224,228,232,236,240,244,248,252,
-------------