代理服务器

正在用IOCP来修改一个以前写的一个代理服务器程序。

现在关于控制用户连接数问题基本已经解决,采用事件来解决这个问题。首先建立一个全局的用户配置列表,创建一个监视线程来等待这个事件。把配置文件中最大连接数,每连接的最高带宽数据读入,同时这个列表保存当前活动连接数和处于等待状态的连接的一个链表,当有新连接进入时,判断是否达到最大连接数,否则直接投递一个WSARecv,是则把这个链接加入到等待连接链表中。当一个连接传输完成后,设置连接完成事件,监视线程得到事件后从链表中取出一个连接并投递一个WSARecv。这样可以实现控制连接数目但又不是直接断开超出最大连接数目连接的问题,解决了IE因为断开连接造成的不能正常浏览问题。

但关于带宽限制问题仍没完全解决,考虑使用timeSetEventTiem或CreateTimeQueueTimer延时投递WSARecv或WSASend来实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值