服务器推送消息给客户端

baidu_16849617 2015-06-07 11:27:26
一般都是客户端请求服务器,然后服务器在返回结果给客户端。
担心现在我客户端不会去请求服务器,要监听服务器有没有数据,有了就推送给客户端。
案列
监听表A,当表A新增一条记录的时候,服务器就要把这条记录推送给客户端。

服务端怎么写?求大神指导。
...全文
228 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
csdnFUCKINGSUCKS 2015-06-15
  • 打赏
  • 举报
回复
可以试试SignalR
易统天下 2015-06-15
  • 打赏
  • 举报
回复
不能从服务器往客户端推送,只能从客户端去服务器请求。你可以搞个消息机制,不断去请求服务器
gbstack08 2015-06-07
  • 打赏
  • 举报
回复
你的程序是什么模式, B/S还是C/S? B/S模式下, 全浏览器兼容的方式是长轮询, 较新的方式(IE低版本不支持)是websocket. C/S模式下选择就多了, 最基础的是用TCP, 然后可以根据你的需求选择相应的应用层协议
  • 打赏
  • 举报
回复
我们说“服务器”这个名词儿的时候,有时候是根据在一个系统中的主要的地位来说的。不要永远都死抠字眼儿。我在服务器上安装一个声卡,你就说服务器都必须有声卡?肯定不是。 所以,如果你的那个叫做服务器的电脑需要作为客户端,那么也是完全可能的。只不过你要给别人解释一下,以免把这个“服务器名词儿”误解为真的是你的程序的服务器端,就行了。
  • 打赏
  • 举报
回复
引用 楼主 baidu_16849617 的回复:
案列 监听表A,当表A新增一条记录的时候,服务器就要把这条记录推送给客户端。
你先给出一个示例说明。比如说csdn的首页有了新的改变,怎么推送到我本地的浏览器?
  • 打赏
  • 举报
回复
客户端总是要连接服务器的,否则你的客户端就不是客户端、服务器也不是服务器了。 服务器同意客户端握手连接成功(Accept),就会创建一个与客户端双向通讯(Receive/Send)的信道。但是如果你说你客户端不会去请求服务器,那么你从基本概念上就是本末倒置的,就不是技术问题了。你只要把“什么是客户端、什么是服务器”搞明白了,就回到编程的基本模式上了。
tcmakebest 2015-06-07
  • 打赏
  • 举报
回复
楼主的解决方案出问题了,推送只是使数据能够及时更新,如果客户端都不连到服务器肯定不行的, 反而是客户端必要始终与服务器保持连接才行。
  • 打赏
  • 举报
回复
“服务端怎么写”这种问题,其实解决起来毫无技术含量。你原来的c/s客户端程序如何写,如何找到它的服务器的,现在还是同样地设计你的程序。只不过,你现在用一个客户端去访问n个服务器。编写这种程序没有什么,不过就是你的“服务器”上的进程里有多个客户端对象在访问外边。 不过从实际经验上来看,这种情况其实很少能够推广实用。因为原来的服务器之所谓叫做服务器,就是因为客户端都是来访问它的。所以你要是能告诉我“csdn如何访问我的网页浏览器”,那么你可能颠倒这个服务器/客户端概念还有点靠谱。否则就是一个你给公司产品设计上埋下的大坑。
  • 打赏
  • 举报
回复
假设你的“服务器”去访问你的“客户端”,那么你的服务器其实是客户端,你的客户端其实是服务器。搞明白这个概念就行了。

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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