如何取得socket的工作队列长度?(50分)

  • 主题发起人 主题发起人 logpie
  • 开始时间 开始时间
L

logpie

Unregistered / Unconfirmed
GUEST, unregistred user!
如题~

并发请求或并发连接时~如何取得当前(待处理)工作队列长度?
 
楼主,请具体一点好吧,
不知TServerSocket.Socket.ActiveConnections能不能符合你的要求呢,
呵呵~~~~~~~~~~~~~~~~~~
 
他的意识是想知道同时有几个客户段连接到SERVERSOCKET上吧
 
当然不是这个意思~

我说的已经蛮清楚了啊~~socket处理并发请求时把任务放在队列里,一个一个处理啊

如何获得这个队列长度,就时这个意思
 
用 TServerSocket.Socket.ActiveThreads总该可以了吧,
实在不行呀,那我就真的不懂你的意思了,
最好自己去看源码啦!!!!!
呵呵~~~~~~~~~~~~~~~
 
DAO!!!!!!
你自己懒吧,
现成的就是我所说的啦,
不然你自己在TServerWinSocket或其爷爷中处理啦,
我很少被人晕到过,****!!!!
 
Netsoft:
呵呵,楼主的意思并不是你想的那样。TServerSocket.Socket.ActiveConnections取得的是Socket的连接数量,并非待处理的数据量。

logpie:
你有没有想过:TCP的数据传输是基于字节流的,每个数据包之间是否有分隔标记呢?
如果要得到的话,我想应该只有读取系统的TCP/IP缓冲区了----呵呵,但问题是怎么读出来呢?
不知有哪位高手可以解答。
 
抱歉,打搅一下:
netsoft兄,
请看我在台海那个帖子后面的留言。
 
To ego
不知道你有没有看过TServerWinSocket 的GetActiveThreads方法和 Accept方法呢,还有就是看看比较重要的 TServerClientWinSocket 和 TServerClientThread 类吧,还有一个注意就是:没有来的连接还来的处理呀, 如果打算连 ClientSocket= Nil 时都进行处理,那你就等 DOS吧,你再开一个贴子,我们还讨论一下吧,我不想再在此发贴了。

呵呵~~~~~~~~~~~~~~~~~~~~~~
 
数据总量 div 分片大小?
 
不会吧?你也知道数据总量的第一个字节未必就是一个数据包的开始呀!这样div下去,如果有一个错了,岂不是以后每个数据包都是错的?
 
后退
顶部