讨论:如果服务器需要承受1000个以上的并发,你同意使用线程阻塞式还是非阻塞式?(300分)

  • 主题发起人 主题发起人 barton
  • 开始时间 开始时间
55555~~~~,失败。。。。
WorkerThread检测不了Client的read/write数据。。。。
谁帮帮忙。。。发mail给我(mail在上面),我寄过去代码
 
copy_paste:
我看了你的代码,服务器部分似乎没有多大问题,可是我看不出你的客户端怎么工作的。
 
我重新改写了wsobjs单元,现在不需要scktcomp单元,客户端是完全的异步读写。测试
非常正常。服务端部分:原来每个连接都有个包管理,现在去掉了。因为包提交给了CPIO,
它总会回来的,等回来的时候free它就得了。但还是检不到客户断开(偶尔可以)。
 
发给你的有点小问题,改之。。。

客户端,我想的比较简单,只要用TCP连接就行了,因为TCP服务器的只是进行侦听的话,
它的模式是在服务器里的,所以应该不管Client的模式是阻塞或是非阻塞,所以随便写了
个Client,就直接使用ScktComp.TClientWinSocket来做了。

在Client模拟一个不断say hello的循环。。。一直say hello(wait 500)给Server,
Server中从OnClientIn得到数据后,将Event转为seWrite,再将从Client收到的数据发回
给自己,也就是简单的 C->S->C的数据传递,chat而已。

我现在Server中的Client对象是可以异步的方式Free的,也就是加了个WSAAsyncSelect,将
FD_CLOSE关联到Server中。但没进行大量Client的测试。。。八字还没一撇。。。
 
继续讨论啊!

另外!好像邮件通知功能失效???
 
多人接受答案了。
 
讨论已经结束。我的完成端口控件也终于出笼并通过了测试。非常感谢各位的参予。
 
to barton:
请问你的完成端口的控件有下载吗,我想看看
 
barton 我也想要 一份看看

在playicq看到有人转帖这帖子

花了好大的工夫在这里找到了

admin@cgisky.com 谢谢
 
to barton:
请问你的完成端口的控件有下载吗,我想看看 ,谢谢!
lphjj@21cn.com
 
终于找到完成端口的例子了,barton兄的控件可以下载吗?或者发给我一份。
liuxiaokun@vip.sina.com
 
后退
顶部