多台客户端机器(约8台)连接一个服务器,在数据量比较大的情况下,如何做更好?

wangyelon 2003-07-21 08:19:25
据说可用阻塞式多线程,
我本人想用非阻塞式实现,
由于本人水平真的不高,也不知道究竟
所以请大家给点意见那
...全文
128 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
pp616 2003-07-22
  • 打赏
  • 举报
回复
最好用阻塞。
要的话我这有现成的代码。
wangyelon 2003-07-22
  • 打赏
  • 举报
回复
ok ,吃了午饭再来结帖!
再次感谢各位,
tuiger2003 2003-07-22
  • 打赏
  • 举报
回复
如果用阻塞方式,
一、要保证服务端有足够开的进程数,我曾经在一台正在扫描端口的机器上用过一次,结果回答进程数已经到达限制,无法开设进程。
二、由于是通过进程切换进行处理,所以要浪费相当的时间用于保存进程数据,要保证内存空间和机器速度足够快。
kingcaiyao 2003-07-22
  • 打赏
  • 举报
回复
http://www.csdn.net/develop/read_article.asp?id=19883
http://www.csdn.net/develop/read_article.asp?id=19882
wangyelon 2003-07-22
  • 打赏
  • 举报
回复
好,我去老侃那look 一下
duduwolf 2003-07-22
  • 打赏
  • 举报
回复
阻塞,如果不想用vcl的serversocker和clientsocket,也可以直接用socket编写,你去nowcan.yeah.net的主页看看,有一个阻塞式的
wangyelon 2003-07-22
  • 打赏
  • 举报
回复
我的邮箱是 yelom125@sina.com
QQ 20131027
wangyelon 2003-07-22
  • 打赏
  • 举报
回复
谢谢各位拉,
哈哈,还是用阻赛式算了,
to pp616(傻小子) :
如果有代码给我参考则不胜感激
kingcaiyao 2003-07-21
  • 打赏
  • 举报
回复
用非阻塞当然可以实现,不过速度会比较慢。因为非阻塞模式下,所有与客户进行通讯都在一个线程中来处理,因此多个客户连接时要进行排队,后一个客户必须等前一个客户处理完后才能够被处理,我建议你用阻塞模式,多线程来处理,你可以用TServerSocket这个控件,将ClientType设为stThreadBlocking,然后在OnGetThread事件开辟线程,不过你要写一个线程o类。也可以写一个socket api.
asimpleman 2003-07-21
  • 打赏
  • 举报
回复
gz
wangyelon 2003-07-21
  • 打赏
  • 举报
回复
我就是想知道,
不用多线程只用非阻塞式能否实现,效果又如何
wangyelon 2003-07-21
  • 打赏
  • 举报
回复
实际情况是这样的,多人发送XML 数据给服务器,
(并发性很大)
服务器将数据保存为文件,
不知道怎样做教好,

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧