文档详情

华北电力大学 网络编程 7--Winsock控件编程.ppt

发布:2017-06-09约2.25千字共14页下载文档
文本预览下载声明
Winsock控件的基本操作 电子邮件系统基本原理 简单电子邮件系统的实现过程 第7章 Winsock控件的数据传输 Winsock控件的基本属性 Winsock控件的基本方法 Winsock控件的基本事件 Winsock控件的TCP基础 若创建客户机端应用程序,在创建时就必须知道RemostHost属性和RemostPort属性,然后才能调用Connect方法。 若创建服务器端应用程序,就应设置LocalPort属性,并调用Listen方法。当服务器收到客户机的连接请求时会触发ConnectionRequest事件,因此,为了完成连接,服务器可调用ConnectionRequest事件内的Accept方法。 为了发送数据,可调用SendData方法。当有数据到达时将会触发DataArrival事件,调用DataArrival事件内的GetData方法就可以获取数据。 Winsock控件的UDP基础 用户数据报协议(UDP)是一种无连接的协议。与TCP的操作不同,各计算机间并不建立连接。另外,UDP应用程序可以是客户机,也可以是服务器。 首先要设置客户机的LocalPort属性。然后,服务器只需将RemostHost设置为客户机的IP地址,并将RemostPort属性设置为跟客户机的LocalPort属性相同的端口,并调用SendData方法即可发送信息。于是,客户机就可以使用DataArrival事件内的GetData方法来获取服务器所发送的信息。 属性名称 返回值 说 明 BytesReceived Long 返回接收缓冲区当前的字节数 LocalHostName String 返回本地机器的名字 LocalIP String 返回本地机器的IP地址 LocalPort Long 返回或设置本地Socket的端口号 Protocol Long 返回或设置协议类型 RemostHost String 返回或设置远程机器的名字 RemostHostIP String 返回或设置远程机器的IP地址 RemotePort Long 返回或设置要连接的远程端口 SocketHandle Long 返回一个套接字句柄 属性名称 返回值 说 明 State Integer 返回套接字的状态,包括: sckClosed(关闭) sckOpen(打开) sckListening(侦听) sckConnectionPending(连接请求已到达但未完成) sckResolvingHost(主机名正在解析) sckHostResolved(主机名解析已完成) sckConnecting(连接已启动但未完成) sckConnected(连接已建立) sckClosing(远程主机正在关闭连接) sckError(发生错误) 方法 参数 说 明 Bind LocalPort、LocalIP 将套接字绑定到指定的本地端口和IP上 Connect RemoteHost、RemotePort 向指定的IP和端口发送连接请求 Listen 无 创建一个套接字,并设为侦听模式 Accept RequestID 处理一个ConnectionRequest事件 SendData Data 向远程计算机发送数据 PeekData Data、Type、Maxlen 读取数据,但不清空接收缓冲区 GetData Data、Type、Maxlen 读取数据,并清空接收缓冲区 Close 无 关闭套接字 事件 参数 说 明 Close 无 远程计算机正在关闭连接 Connect 无 同远程计算机的连接建立成功 ConnectionRequest RequestID 远程计算机正在请求一个连接 DataArrival BytesTotal 有新的数据到达 Error Number、Description、Scode、Source、HelpFile、HelpContext、CancelDisplay 产生了一个Winsock错误 SendComplete 无 发送操作完成 SendProgress BytesSent、BytesRemaining 数据正在发送 邮件传输原理 电子邮件的地址 常用的几种电子邮件协议 图7-1 电子邮件传输原理图 一般邮件系统会采用如下字符串: local-part@domain-name 在该字符串中,local-part为邮箱地址,而domain-name则为机器名。 简单邮件传输协议(SMTP) TCP/IP协议族定义了机器间交换邮件的标准(SMTP)。该标准准确定义了客户机传输给另一台机器上的服务器的邮件格式。 邮局协议(POP3) 为了把邮件从服务器邮箱转移到本地计算机邮箱,TCP/IP采用了一种称为邮局
显示全部
相似文档