当前位置:文档之家› 网络编程常用的协议和函数

网络编程常用的协议和函数

一、需要理解的协议

1.PPP:点对点协议(Point to Point Protocol)。点对点协议(PPP)为在点对点连

接上传输多协议数据包提供了一个标准方法。

2.ARP:地址解析协议(address resolution Protocol)。ARP实现通过IP地址得知

其物理地址。

3.RARP:反向地址转换协议(RARP:Reverse Address Resolution Protocol)。反

向地址转换协议(RARP)允许局域网的物理机器从网关服务器的ARP表或者缓存上请求其IP地址。

4.IP:IP是英文Internet Protocol(网络之间互连的协议)的缩写,中文简称为“网

协”,也就是为计算机网络相互连接进行通信而设计的协议。

5.ICMP:ICMP是(Internet Control Message Protocol)Internet控制报文协议。

它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。

6.IGMP:Internet Group Management Protocol(Internet组管理协议)。Internet

组管理协议(IGMP)是因特网协议家族中的一个组播协议,用于IP主机向任一个直接相邻的路由器报告他们的组成员情况。

7.TCP:Transmission Control Protocol传输控制协议TCP是一种面向连接的、可

靠的、基于字节流的传输层(Transport layer)通信协议。

8.UDP:User Datagram Protocol的简称,中文名是用户数据包协议,是OSI参考

模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。

9.HTTP:超文本传送协议(hypertext transport protocol)。一种详细规定了浏览

器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。

10.DNS:计算机域名系统(Domain Name System或Domain Name Service)的缩写,

它是由解析器和域名服务器组成的。域名系统为Internet上的主机分配域名地址和IP地址。

11.SMTP:(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由

源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。

12.FTP:(File Transfer Protocol,FTP)是TCP/IP网络上两台计算机传送文件的协

议。

13.POP3:(Post Office Protocol3)即邮局协议的第3个版本,它是规定个人计算机

如何连接到互联网上的邮件服务器进行收发邮件的协议。

14.TFTP:(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的

一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。

二、基本套接字编程接口函数

1.WSAStartup:应用程序或DLL只能在一次成功的WSAStartup()调用之后才能调

用进一步的Windows Sockets API函数.

原型:intPASCAL FAR WSAStartup(WORD wVersionRequested,LPWSADATA lpWSAData);

参数:wVersionRequested Windows Sockets API提供的调用方可使用的最

高版本号.高位字节指出副版本(修正)号,低位字节指明主版本号.

lpWSAData指向WSADATA数据结构的指针,用来接收Windows Sockets 实现的细节

返回值:0成功.

以下值代表错误:

WSASYSNOTREADY指出网络通信依赖的网络子系统还没有准备好.

WSAVERNOTSUPPORTED所需的Windows Sockets API的版本未由特定的Windows Sockets实现提供.

WSAEINVAL应用程序指出的Windows Sockets版本不被该DLL支持.

2.closesocket:关闭一个套接口。

原型:int PASCAL FAR closesocket(SOCKET s);

参数:s:一个套接口的描述字。

返回值:0成功.

以下值代表错误:

WSANOTINITIALISED:在使用此API之前应首先成功地调用WSAStartup()。

WSAENETDOWN:WINDOWS套接口实现检测到网络子系统失效。

WSAENOTSOCK:描述字不是一个套接口。

WSAEINPROGRESS:一个阻塞的WINDOWS套接口调用正在运行中。

WSAEINTR:通过一个WSACancelBlockingCall()来取消一个(阻塞的)调用。

WSAEWOULDBLOCK:该套接口设置为非阻塞方式且SO_LINGER设置为非零

超时间隔。

3.WSACleanup:中止Winsock2DLL(Ws2_32.dll)的使用。释放WinSock实现分

配给应用程序的系统资源。

原型:int PASCAL FAR WSACleanup(void);

参数:无

返回值:成功返回0

4.socket:创建一个能够进行网络通信的套接字。

原型:int socket(int domain,int type,int protocol);

参数:第一个参数指定应用程序使用的通信协议的协议族,对于TCP/IP协

议族,该参数置AF_INET;

第二个参数指定要创建的套接字类型,流套接字类型为SOCK_STREAM、数据报套接字类型为SOCK_DGRAM、原始套接字SOCK_RAW(WinSock接口并不适用某种特定的协议去封装它,而是由程序自行处理数据包以及协议首部);

第三个参数指定应用程序所使用的通信协议。

返回值:成功返回新创建的套接字的描述符,失败返回INVALID_SOCKET。5.send:经套接字传送消息

原型:ssize_t send(int s,const void*msg,size_t len,int flags);

参数:

第一个参数指定发送端套接字描述符;

第二个参数指明一个存放应用程式要发送数据的缓冲区;

第三个参数指明实际要发送的数据的字节数;

相关主题