对每个使用AcceptEx接受的连接套结字使用setsockopt设置SO_UPDATE_ACCEPT_CONTEXT选项,这个选项原义是把listen套结字一些属性(包括socket内部接受/发送缓存大小等等)拷贝到新建立的套结字,却可以使后续的shutdown调用成功。

 

/* SO_UPDATE_ACCEPT_CONTEXT is required for shutdown() to work fine*/

       setsockopt( sockClient,

                            SOL_SOCKET,

                            SO_UPDATE_ACCEPT_CONTEXT,

                            (char*)&m_sockListen,

                            sizeof(m_sockListen) ) ;

posted on 2012-04-18 17:33  jeffery_lush  阅读(334)  评论(0编辑  收藏  举报