关于数据传输的东东,希望大家给个合理的可行性的解决方案

tccsdn 2004-10-12 04:02:04
大概的要求:
1,运行环境:局域网,在服务器中同时更新数据文件到每台工作站,数据文件有可能是上G的资料,不是一个文件,是N多文件或文件夹,工作站的台数不固定,有可能是上几百台,关键是要控制网络流量,就是不能影响工作站的正常工作,不知道方式实现这样的功能才好?
...全文
110 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
dingzhaofeng 2004-10-14
  • 打赏
  • 举报
回复
rtdb 2004-10-14
  • 打赏
  • 举报
回复
》在服务器中同时更新数据文件到每台工作站?
这种要求很少见的。 一般应是大家共享服务器中文件才对。
cheeryanhua 2004-10-13
  • 打赏
  • 举报
回复
可以看看这个,ftp ,apache是怎么进行下载文件的,APACHE有类似的模块,具体的你可以看看,
客户端就是你从系统中取出当前的进出字节数,再同当前网络的带宽相比较,就可以得到网络的负载程度。

对于服务器给客户端发送,可以用线程池来进行发送,我前些时候也想过这个问题。但是没有具体作,谈谈自己的看法。服务器端提供一个用户连接链表。
每个节点中包含如下 客户信息
struct USER_INFO{
int Socket ;//当前连接套接字
IPINFO ;//ip地址信息
REQUEST ;//用户请求信息
USER_ATTRIBUTE ;//用户属性信息
Arrive_time ;//用户请求到达时间
ServiceCount ;//用户服务计数
PassedTime ;//用户服务时间
EndTime ;//结束时间
FileSize //发送
SendBytes ;//已经发送字节数
UnderProcess//是否已经正在被服务处理
ServiceInfo ;//为此客户服务的线程指针
};

当用户到达的时候,将相关信息填写道用户连接链表中。
服务端提供多个线程,每个线程主从从用户连接链表中取自己需要服务的用户,一个线程可以为多个客户服务。使用时间触发方式。按照规定的时间间隔,为多个客户发送数据,
tccsdn 2004-10-13
  • 打赏
  • 举报
回复
谢谢大家,我现在打算采用TCP来做,还一个问题是用一个循环来发送到没台工作站呢还是为每台建立一个线称来发送呢,如果建立上百个线程应该不好吧
to cheeryanhua(): 服务器端进行流量控制, 客户端可以检查本机的网络状况能具体一点吗?
cheeryanhua 2004-10-13
  • 打赏
  • 举报
回复
建议还是使用TCP可以,在客户机上安装客户端软件,客户端访问服务器淂时间进行规划(无论怎么牛,并发太多淂客户端还是处理不了,不如规定时间段来分流。)
进行一定的流量控制能力,在服务端与客户端同时进行优化,服务器端进行流量控制,客户端可以检查本机的网络状况,如果比较繁忙,可以以后进行下载。并且客户端也应该支持这个断点续传。否则上G的数据传输了一半丢了,就完蛋了!
tccsdn 2004-10-12
  • 打赏
  • 举报
回复
to panyongjun(happy) 是WINDOWS
to bbcharm(碧海情天) 如果用组播,怎么控制丢包问题和同步?就是假设服务端发送一个包出去,因为没台工作站接收到包的时间肯定不一样,还有如果一台丢包了,服务端怎么验证才开始发第二个包呢?我对UDP没什么经验,能说具体一点吗?
如果哪位有列子那就更好了^_^
panyongjun 2004-10-12
  • 打赏
  • 举报
回复
如果是UNIX主机(服务器和工作站),直接用NFS
bbcharm 2004-10-12
  • 打赏
  • 举报
回复
局域网 组播应该可以哦
最好用组播
tccsdn 2004-10-12
  • 打赏
  • 举报
回复
更正:不知道方式实现这样的功能才好?----》不知道用什么样的方式实现以上的功能?

如果用TCP的话,数据流量肯定比较大,怎么解决?如果用组播的话不知道怎么解决数据的可靠传输?

4,356

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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