如果是服务器,应该考虑内存池的模型,不要频繁的释放以及申请
On 8月31日, 上午10时31分, "尚鹏飞" <
shangpf...@gmail.com> wrote:
> 在WSASend处判断IO_PENDING意味这这个包正在等待队列中,当调用GQCS时得到的是处理包的结果,有可能是IO_PENDING(说明该包还在-等待队列中)也有可能是SUCCESS(说明处理成功)。我的做法是:没使用引用计数,只在投递处申请内存,在完成处释放内存,我并不关心这个包被IO_PEN-DING了几次,只要投递和发送完成处对内存的操作是成对的就行。
> 以上情况是建立在整个过程都没有出错的情况,如果出现出错就应该加上相应的出错处理。
>
> 在08-8-30,关中刀客 <
guanzhongda...@gmail.com> 写道:
>
>
>
>
>
> > 我的做法,缓冲起来,集体发送
>
> > On 8月30日, 下午3时25分, mana <
kedin...@gmail.com> wrote:
> > > 如题,对WSASend/WSARecv成功投递计数,对GQCS返回(无论成功与否)计数,凡是发现偶尔
> > > GQCS的计数要少一点,分别对WSASend/WSARecv分别计数,发现都是偶尔WSASend投递的pending io没有被GQCS取回,
> > > 我的资源释放使用的引用计数,这样导致我的有些资源不能释放啊,老是等待那个没有返回的WSASend投递成功的pending io.
> > > 到底这两个计数是不是相等的啊?只要投递成功了GQCS是不是一定会返回?微软哪里有这个的明确说明没有呢?拜托各位了 :-)- 隐藏被引用文字 -
>
> - 显示引用的文字 -