当前位置:编程学习 > C#/ASP.NET >>

大量用户发数据,socket服务端接收暂存?

客户端比较多的话,他们不断给服务段发送数据,服务端在接受数据的时候,内存肯定吃消不起.但是由于用户在没有完成数据接收的时候,数据不可能存储到数据库中.请问,是不是该用其他形式暂时存储数据,等接收完了再取出来存储到数据库中?
或者有其他方法.
--------------------编程问答-------------------- 先暂存到文件怎么样? --------------------编程问答-------------------- 这纯粹是设计问题。为什么导致“内存肯定吃消不起”?一个消息能够多少K字节,总共又会占用多少内存?

从技术上说,服务器完全可以通过它刻意表现得“迟钝”一点来控制流量。但是在动不动就是用时髦技术之前,我们要分析一下问题背后的根源是不是根本不是技术问题?! --------------------编程问答-------------------- 你可以分析几万个消息内容,看看你的系统平均每一个命令有多少字节长。

我们知道,如果你使用迅雷去下载文件,一个1G的文件可能是5万个独立的下载操作(或许最高并行10个线程)才合并来文件的。因为它每一个独立的下载操作是面向断点续传的。

这是架构设计师的责任,他很早就会在逻辑(概要)设计中说明这种服务工作的信息结构和操作逻辑。而如果这个是程序员从技术角度提出的,则你们的项目开发很成问题了。 --------------------编程问答-------------------- 有多少客户端?每个客户端需要缓存多少数据才能处理?
可以缓存到文件,也可以限制连接数量。 --------------------编程问答-------------------- mark     

.                                          
                         --------------------编程问答-------------------- 正常的做法是把接收的数据先简单分段,接着保存到数据库,然后使用另外一个进程来处理数据,看你怎么设计了。 --------------------编程问答-------------------- mark dingdingding --------------------编程问答-------------------- 总觉得sp1234的话很深奥 --------------------编程问答-------------------- 给每个客户端建立一个线程,各做各的,不需要暂时存储啊。 --------------------编程问答--------------------
引用 8 楼 zzxap 的回复:
总觉得sp1234的话很深奥

我也觉得是 --------------------编程问答--------------------
引用 10 楼 hetl_1985 的回复:
引用 8 楼 zzxap 的回复:
总觉得sp1234的话很深奥
 我也觉得是

总觉得sp1234的头像有点像劳改 --------------------编程问答-------------------- 目前没一个关系数据库是专门面向流设计的,大量数据就直接存文件,接收完毕再进行后续处理。 --------------------编程问答-------------------- 我是打算用连接池来控制连接的个数的,但是这不足以解决内存分配的问题.我一直在考虑着该怎么有效的进行内存的分配.但是感觉思路不够畅通,sp1234的话比较悬乎,难以领会. --------------------编程问答-------------------- jimh的思想也是我考虑过的,先存到数据库或者文件,或者我应该做一个有效的测试来验证一下有效性. --------------------编程问答-------------------- 如果真的很复杂,可以考虑IOCP,IO完成端口模型 --------------------编程问答-------------------- 2010传智播客struts2教程下载【强荐】理工毕业生,热招中! --------------------编程问答-------------------- 期待中,,顶一下!~~ --------------------编程问答--------------------     完成端口我也考虑过,根据我所知道(实际上我没有实现过完成端口),客户端也需要有完成端口实现的匹配。
    现实情况是,客户端代码一般都是普通的tcp连接,而且客户端的东西并不是由我们公司全部时间,而是不同的提供商提供各自的客户端,想实现统一的方式估计是比较困难的。
     --------------------编程问答-------------------- 总觉得sp1234的话很深奥
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,