c#winform窗体如何实现服务器实时接收数据,不借助button
宽泛的讲,有两种方式,实现Client和Server的实时通讯(数据接收)。
1、 Pull 也就是拉。 即Client把数据从Server中拉出来。
因为winform本质是事件驱动,如果不想用button,那么最简单的方式就是用定时器(timer), 比如每10秒请求一次数据,
这种方式本质上和button没有区别,还是通过事件来驱动应用,只不过是“自动”的去读取数据。
优点是简单, 缺点是不及时(如果数据是1秒一变,这个10秒的间隔就太长了),而且资源利用率较低(如果1小时都没有变化, 这10秒一次的刷新就很占用资源)
2、Push 推,即Server将信息推送到Client中去。
Winform中实现推送信息,一般需要和Server建立连接,连接后,当Server需要推送(比如数据有更新)时,才向Client中发送信息。
优点是数据的时效性较好,而且资源利用合理。
缺点是需要大量的代码(相比定时器那种方法)
Push模式可以参考“观察者模式”的开发方式。
服务器端:代码编写入选 namespace SocketTest { class Program { public static void SendMessage() { Socket socket = serverSocketAccept(); ConsoleWriteLine("Connected a client:{0}",socketRemoteEndPoint); socketSend(EncodingASC。
我建议直接一步到位,直接上服务器啦,现在服务器也不是太贵了,国产的几个牌子,价格都很便宜,推荐国产品牌正睿吧,三年全国免费上门服务。
给你找了两个型号,你自己看看,根据自己需求吧
产品型号:I1216132S
产品类型:单路双核机架式服务器
处
理
器:Pentium
E5200
内
存:2G
DDR2
硬
盘:SATA2
160G
机
构:1U机架式
这套配置比较入门了,对于你们公司的规模应该够用了,价格是2999。
产品型号:I1436132S
产品类型:单路四核机架式服务器
处
理
器:Xeon
X3360
内
存:2G
DDR2
硬
盘:SATA2
320G
机
构:1U机架式
第二套CPU强了N个档次,是英特尔45nm至强4核专用服务器处理器。价格是4999!!
0条评论