目录
前言
初识 ActiveX Winsock 控件
在 VFP 中使用它
创建一个聊天
Internet
FTP 与 Winsock
用 Winsock 发送的接收 e-mail
结论
在今天 TCP/IP 处理所有 Internet 上的通信流. 在局域网上也可以运行 TCP/IP.
我们可以利用这一点, 并在诸如 FTP, IRC, e-mail, WWW 或其它任何 Internet 标准类型的
通信. 要达到这样的目的, 需要使用包含在 Windows 中的一个 DLL, 也就是所谓的 WSOCK32.DLL 或相似的名字.
在使用 DLL 中的唯一
问题, 直接的, 是我们将不得不控制和处理每一个函数的反应而且这将会造成额外的和不必要的开销.
Windows 已经有一个 ActiveX 叫做 WINSOCK.OCX. 它使用与我们所需要的相同的 DLL, 并已经用方法和事件控制和处理了整个反应, 使它易于使用.
初识 ActiveX Winsock 控件
方法 说明
Accept(requestID) 该方法用于接收一个特写的连接. 它作为一个参数传递来处理请求.
Bind(LocalPort,LocalIP) 为 CDP 连接指定端口和本地 IP.
Close() 关闭服务器和客户之间的活动的连接.
GetData(Data,Type,maxLen) 用缓冲中的内容填充变量, 使其为空.
Listen() 对象等等连接.
PeekData(Data,Type,maxLen) 用缓冲中的内容填充变量, 但不清空缓冲.
SendData(Data) 发送数据到远程计算机.
事件 说明
Close 当远程计算机关闭当前连接时发生
Connect(Error) 与服务器的连接成功后.
ConnectionRequest(requestID) 当远程计算机发出一个请示时.
DataArrival(BytesTotal) 在从远程计算机上接收到新数据时发生.
Error(number, Description, Scode, Source, HelpFile, HelpContext, CancelDisplay) 当发生后台处理错误时.
SendComplete 数据发送完毕时发生
SendProgress(bytesSent, bytesRemaining) 在发送数据时.
属性 说明
BytesReceived 返回到缓冲中的字节数
LocaHostName 返回本地机器的名字
LocalIP 本地
计算机的 IP 地址
LocalPort 数据传送的端口 (客户) 或代表一个连接 (服务器)
Name 对象名
Object 运行时自动创建, 仅在 VFP 中.
Protocol 使用的协议 TCP (0) 或 UDP (1)
属性 说明
RemoteHost 返回远程计算机的端口
RemoteHostIP 返回远程计算机 IP
RemotePort 返回远程计算机上的连接端口
SocketHandle 返回控件当前连接的句柄
State 返回控件的状态:
0 = 已关闭
1 = 打开
2 = 等待连接
3 = 正在连接
4 = 决定主机
5 = 主机已决定
6 = 正在连接
7 = 已连接
8 = 连接被远程计算机关闭
9 = 错误