通过Socket实现服务器推送文件问题

xiaopachong625 2013-06-12 08:53:35
请教各位大神,
目前有一个需要服务器向局域网内的指定计算机推送文件的需求,文件类型主要包括HTML,图片,js,css等,所以考虑使用socket实现
小弟考虑能不能将ServerSocket建立在局域网内所有客户端电脑上,在服务器端建立Socket,当服务器收到指令时,向指定客户端的ServerSocket建立连接,并通过流完成文件推送
在网上大概查了查,貌似没有这样将ServerSocket建立在客户端的案例,不知道这样做不合理的地方在哪?个人感觉这样做不仅可以减少服务器压力,也无需考虑并发和线程数的问题,请问大神这样做可行吗?如果不可行,问题出在哪里呢?小弟才疏学浅,问题可能比较幼稚,还请不吝赐教
...全文
313 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
HELLO456 2013-10-10
  • 打赏
  • 举报
回复
引用 4 楼 preferme 的回复:
LZ思路有些叛逆。 服务器所在端作为服务端,监听固定的端口;客户端连接服务端下载各种文件。 数据推送问题,有两种方案: 1. 客户端定期发送请求,看服务端有没有要传输的数据,如果有就立即下载。 2. 客户端与服务端建立长连接,当服务端有数据要发送的时候,通过长连接推送数据。 不过,这种实现方案比较复杂,不建议初学者使用。
我还是采用第一种吧 嘿嘿 感觉第二种方法好nc
冰思雨 2013-06-21
  • 打赏
  • 举报
回复
LZ思路有些叛逆。 服务器所在端作为服务端,监听固定的端口;客户端连接服务端下载各种文件。 数据推送问题,有两种方案: 1. 客户端定期发送请求,看服务端有没有要传输的数据,如果有就立即下载。 2. 客户端与服务端建立长连接,当服务端有数据要发送的时候,通过长连接推送数据。 不过,这种实现方案比较复杂,不建议初学者使用。
火影之贺 2013-06-20
  • 打赏
  • 举报
回复
可以尝试思路: 服务器向客户端发一个指令,告诉客户端有文件要更新。 客户端收到这个指令后,到服务器来下载。 这样就不会让客户端做服务器用,角色清晰。另外,服务器还可以控制哪个服务端何时过来下载!
waynell 2013-06-20
  • 打赏
  • 举报
回复
可以,但是有问题。 同样有并发问题吧,难道你准备一个一个推?也不会减少服务器的压力。socket连接建立起来以后两端是对等的。 你这想法肯定是要在客户端开一个固定端口,如果客户端端口被占用,用什么策略重新分配?如何通知服务器客户端的新端口。 最现实的做法服务器做延时推送大数据,就是客户端连接到服务器以后,服务器排队,有空闲的时候再推送
coolrain82 2013-06-20
  • 打赏
  • 举报
回复
安全方面有很大问题

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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