龙空技术网

DELPHI学习之「网络编程-Socket和WinSock」

老邢说吧 207

前言:

如今小伙伴们对“delphi中adonet控件”可能比较看重,咱们都需要了解一些“delphi中adonet控件”的相关内容。那么小编也在网上收集了一些关于“delphi中adonet控件””的相关文章,希望兄弟们能喜欢,兄弟们快快来学习一下吧!

一、网络基础知识的介绍

1、网络编程:

即编写通过计算机网络和其它程序进行通信的程序。从广义上讲,只要是软件中涉及到网络功能的编程,都属于网络编程。

2、Socket和WinSock:

Socket 本意是 应用层和网络协议层之间的中间抽象层。可以看作是一系列网络节点的抽象,通过Socket,应用程序可以和其它程序进行通信。

WinSock 是微软公司提供的,在Windows平台下网络模型的具体实现,通常被称为WinSock API。它是真正的,与网络协议无关的,Windows系统下网络编程的接口,用于网络通信方面的编程开发。而在WinSock中,Socket又有了不同于之前的含义,它在这里是一个句柄,是指向网络传输提供者的句柄。

3、Win32 Internet:

Win32 Internet 是微软公司提供的,在Windows平台下进行Internet开发的一组API函数集。整合了Internet开发中,FTP,HTTP等方面大量的实用工具函数。象网络抓取工具,网络机器人,浏览器开发等等,都会用到大量的Win32 Internet API方面的功能。

4、WinSock API,Win32 Internet API和Delphi中网络控件的关系

Delphi中的网络控件,是对WinSock API和Win32 Internet API函数集功能的封装。二者的关系,类似于Windows API和Delphi的基础控件之间的关系。

5、网络协议

面向连接的协议:TCP协议,也就是网络控制协议,是面向连接的协议,通信之前,需要建立稳定的连接,在这个稳定连接的基础上,就可以实现双方的稳定可靠通信。

无连接的协议:UDP协议是,也就是用户数据报协议,是无连接的协议,双方无须建立连接,就可以发起通信。但是,通信的结果无法保证。也就是你可以向对方发起通信,但对方能否收到,则是未知之数。

网际协议:IP协议,它为TCP,UDP提供递送分组的服务。

我们实际开发中,有些协议需要在当时的实际环境下确认。比如,我们要使用协议族,流协议族,也就是TCP协议族,用PF_INET,IP协议族,用AF_INET,那要做一个基于UDP的网络软件,该用什么协议族?应当用AF_INET。

二、WinSock API编程起步

使用WinSock API之前,必须加载一个版本的WinSock库,我们使用WSAStartup来进行WIndows Socket动态连接库的初始化,在整个程序结束时,要调用WSACleanup完成库的清理工作。这两个函数必须配套使用,一个用在程序的开始,一个在程序的末尾。

这两个函数,在返回值为ERROR_SUCCESS时(ERROR_SUCCESS=0),表示执行成功,否则表示执行失败。

标签: #delphi中adonet控件