第十八章使用wxSocket编程

socket是一个数据传输的管道.socket并不关心它正在传输什么类型的数据,也不关心数据从和而来,或者说要到哪里去.它的任务就是把数据从A点传输到B点.每次你访问web,收发email,登录你的即时消息帐号等等时候,你在都使用着socket.socket可以被用来再任何支持 socket的设备之间建立连接,包括连接一台电脑和一台电冰箱(只要它支持socket).

socket编程的API最初是BSD unix系统的一部分,因为其起源的单一性,这个API变成了一种标准.所有现代的操作系统都会实现一个socket层,来提供按照TCP或者UDP协议通过网络(比如国际互联网)向外发送数据.使用wxWidgets提供的wxSocket,你可以安全的从一台电脑向另外一台电脑发送任何数量的数据.本章也将涉及一些socket技术的基础知识,但是socket操作本身是非常简单明了的.

虽然基本的socket操作是非常简单的,在Windows,Linux和Mac OSX平台上也是非常类似的,但是每个平台在实现socket的时候还是有一些细微的差别,必须针对某个特定的平台作一些适配.基于事件的socket操作在各个平台上的差异就更为突出,这使得在各个平台上使用这种机制都成为一个挑战.而wxWidgets则使用wxSocket类屏蔽了这些差别,从而使得制作基于事件的跨平台的socket程序变得相对容易.

另外需要注意的是,到作者停笔前为止,wxWidgets还不支持UDP协议的数据收发,也许在将来的版本中会增加UDP的支持.