对于局域网用户中的编程爱好者来说,如果能自己编一个局域网通信程序,那么这一切将是多么美妙!可是,如果要从头开始完全由自己来编写一段用于通信的程序,必须对相关的网络协议及其他的一些较底层的技术有较深入的了解,这可不是一件容易的事。而现在有了winsock控件,一切就不同了,它已经替你封装了所有烦琐的技术细节,并提供了访问tcp和udp网络服务的方便途径。你只需通过设置控件的属性并调用其方法就可轻易连接到一台远程计算机中,并且还可以双向交换数据,而这一切都不需你了解tcp的细节或调用低级的winsock apis。
winsock控件可以供microsoft acess、visual basic,visual c++或visual foxpro的开发人员使用。本文以visual basic 6企业版为开发环境来向大家介绍一下winsock控件的初步应用。
winsock控件可以使用两种协议:tcp协议和udp协议,下面来分别介绍。
tcp协议即数据传输协议,它允许创建和维护与远程计算机的连接,使其彼此可以进行数据传输。利用tcp协议通讯必须分别建立客户应用程序和服务器应用程序。
在创建客户应用程序时,必须知道服务器计算机名或其ip地址(存于remotehost属性)、及服务器计算机进行侦听的端口(存于remoteport属性),然后调用connect方法。
创建服务器应用程序时,就应相应设置一个侦听端口(localport属性)并调用listen方法。当客户机需要连接时(connect),就会发生connectionrequest事件。为了完成连接,你可以在connectionrequest事件中调用accept方法。建立连接后,任何一方计算机都可以发送、接收对方数据。如果你要发送数据,需调用senddata方法。当接收到数据时,会发生dataarrival事件,调用dataarrival事件中的getdata方法就可以获得对方传送的数据。
说了这么多,大家可能还是不太了解,让我用程序来详细说明。