MSDN 上也有个关于 Socket 通信的简单例子。我这是从那上面搬过来的。不过改来改去就变得跟原来的差得不少了。我觉得比 MSDN 上的例子会更好一点。因为可以自己定义要传送的数据类型,只要要传送的数据是可以序列化的。
我把程序分成两大块:PostOffice,Package。PostOffice 实现收发功能,相当于邮局。Package 包含了这个包的类型和包里面要传送的数据。
Package 类的定义:
PackageType 枚举的定义:
PostOffice 的定义:
可以看出来,这里发送是同步的,但接收是异步的。这个程序也算是个怪胎了!@#@#¥#,不过全当练习了。
有了这个通信的核心,就可以做个简单的双向通信程序了。