关于SOCKET资源堆栈
一個進程會有一個SOCKET資源列表
有如下代碼
?
[cpp]?view plaincopyprint?
void?TestSock()??
{??
????WSADATA?wsaData;?//?winsock?結構體??
????WORD?wVersionRequested;//?winsock?的版本??
????//?配置?Windows?Socket版本??
????wVersionRequested?=?MAKEWORD(?2,?2?);?//?初始化?Windows?Socket??
????WSAStartup(?wVersionRequested,?&wsaData?);??
??
????map<int,int>??map2;??
????for?(int?i?=?0;?i<?CNT;?i++)??
????{??
????????SOCKET?sockServer?=?socket(AF_INET,?SOCK_STREAM,?0);??
????????PRINT_LOG("%d,",?sockServer);??
????????map2.insert(make_pair(sockServer,0));??
????}??
????PRINT_LOG("\r\n-------------\r\n");??
??
????map<int,int>::reverse_iterator?it?=?map2.rbegin();??
????while?(it?!=?map2.rend())??
????{??
????????closesocket(it->first);??
????????PRINT_LOG("%d,",?it->first);??
??
????????++it;??
????}??
????PRINT_LOG("\r\n-------------\r\n");??
??
????for?(int?i?=?0;?i<?CNT;?i++)??
????{??
????????SOCKET?sockServer?=?socket(AF_INET,?SOCK_STREAM,?0);??
????????PRINT_LOG("%d,",?sockServer);??
????????map2.insert(make_pair(sockServer,0));??
????}??
????PRINT_LOG("\r\n-------------\r\n");??
??
}??
輸出
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,
-------------
轉載于:https://blog.51cto.com/boyka3721/1681933
總結
以上是生活随笔為你收集整理的关于SOCKET资源堆栈的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 去了大公司就一定能学到很牛的技术么?
- 下一篇: ffmpeg 怎么用