我之前做过和你描述的差不多的需求的东西。
采用的是你上面说的第二种方式。
你可以把winform获取到的实时数据通过socket发送给你的wcf服务,wcf服务处理之后再发给所有客户端。
双工通信可以解决随时发送的问题,其实不是发送了,是直接触发客户端的方法,实现数据的传递。
用net.tcp协议真正实现双工通信,对web和winform客户端都可以调用。
大概是这样了