WinSock控件能够通过UDP协议(用户数据报协议)或TCP协议(数据传输协议)连接到远程的机器并进行数据交换。这两种协议都能用来创建客户端和服务端应用
程序。就像定时器控件一样,WinSock控件运行时没有一个可视的界面。
可能的用途 创建客户端应用程序,它能在信息到达中央服务器之前把用户的信息收集起来。
创建服务端应用程序,它能作为来自多个用户的数据一个集中处理点。
创建“聊天”程序。
协议的选择 当我们使用WinSock控件时,首先要确定的是使用TCP还是UDP协议。它们之间主要的区别在于连接状态:
TCP协议控件是一个基于连接的协议,就像电话机一样,用户必须在通话之前建立连接;
UDP是一个无连接的协议,两台计算机之间的事务处理就像传纸条一样:一台计算机向另一台计算机发送消息,但是它们之间并没有一个明确的连接路径。另外,发送的单个信息量的大小取决于网络。
通常,你要创建的应用程序的类别就决定了你要选择的协议。以下是几个能够帮助你选择合适的协议的问题:
当发送或接收数据时,该应用程序需要从服务端或客户端获得认证吗?如果要的话,那么TCP协议就正好需要在发送或接受数据前建立明确的连接。
要发送的数据量大吗?(就像图片、声音文件之类)一旦建立了连接,TCP协议就会保持连接并保证数据的完整性。但是,这种连接会占用的更多的处理器资源,成本也会更高一些。
数据是陆续传输的,还是一次全部传完呢?比如,如果你要创建的应用程序在某些任务完成时会告知具体的计算机,那么选择UDP协议会更合适一些。UDP协议也更适合于发送小量数据。
协议的配置 配置你的应用程序所用到的协议:在设计阶段,单击工具窗口里的协议,选择sckTCPProtocol或sckUDPProtocol。你也可以在代码里配置协议,就像下面这样:
Winsock1.Protocol=sckTCPProtocol
确定你的计算机名 要连接到远程的计算机,你必须知道它的IP地址或别名。IP地址是一串用句点分隔的3位数字。通常,计算机的别名更容易让人记住。
按下面的步骤可以找到你的计算机名:
在“任务栏”里单击“开始”
在“设置”选项里单击“控制面板”;
双击“网络”图标;
单击“网络标识”
在“计算机名”中显示的就是你的计算机名。
一旦你找到你的计算名,它就可以作为远程主机的属性来用了。