前一段有这么一个开发需求,需要在电脑的web程序调用C#的win程序,然后两个程序进行通信。
刚接到这个需求的时候完全是懵的,没有一点头绪。然后上网查了一些,说的都是修改注册表,然后web可以调用win程序。但总感觉和我想要的可以程序之间可以交互的东西不一样。在网上找了各种方案,都因为各种原因给否定了。最后我甚至想两个客户端都和服务器进行HTTP通信,服务器充当它们之间的交互桥梁。然后仔细想了一下,为什么不能在win程序建立一个小的服务器呢?在此基础上,还可以再把HTTP简化成Socket通信。
方案出来了,首先在win程序上面建立一个WebSocket服务端,开启监听通道。然后web程序与win程序建立连接。两个程序之间使用已经定义好的文本格式进行指令的传输,完美。
其实在大学的时候,我就已经用C语言写了Socket的服务端和客户端之间进行通信,但因为当时什么都不懂,就只是查了一些资料,简单的完成了一发一收的通信而已。不过正是因为之前的这个积累,知道了原来只要有网络,程序之间可以Socket这种简易的方式进行通信。