您的位置:首页技术文章
文章详情页

透析ICMP协议(二): Windows Socket简介

【字号: 日期:2024-02-18 15:01:17浏览:70作者:猪猪

Windows 的Socket函数有许多, 我没有做具体介绍, 这里的函数都是简要说明其用途, 具体用法请参考MSDN.这里的主要目的是为了后面的三个应用服务.

函数说明:---------

WSAStartup函数初始化Winsock[声明]int WSAStarup(Word wVersionRequested,LPWSADATA lpWSAData);[参数]wVersionRequested - 要求使用Winsock的最低版本号lpWSAData - Winsock的具体资料[返回值]当函数成功调用时返回0失败时返回非0的值 ---

socket函数用于生成socket(soket Descriptor)[声明]SOCKET socket(int af,int type,int protocol);[参数]af - 地址家族(通常使用:AF_INET)type - socket的种类SOCK_STREAM : 用于TCP协议SOCK_DGRAM : 用于UDP协议protocol - 所使用的协议[返回值]当函数成功调用时返回一个新的SOCKET(Socket Descriptor)失败时返回INVALID_SOCKET.---

inet_addr函数地址转换, 把'A.B.C.D'的IP地址转换为32位长整数[声明]unsigned long inet_addr ( const char FAR *cp );[参数]cp - 指向IP地址字符串的指针[返回值]当函数成功调用时返回用32位整数表示的IP地址失败时返回INADDR_NONE.---

gethostbyname函数从主机名获取主机信息.[声明]strUCt hostent FAR * gethostbyname ( const char FAR *name );[参数]name - 指向主机名字符串的指针[返回值]当函数成功调用时返回主机信息失败时返回NULL(空值)

---

recv函数利用Socket进行接受数据.[声明]int recv ( SOCKET s , char FAR *buf , int len , int flags );[参数]s - 指向用Socket函数生成的Socket Descriptorbuf - 接受数据的缓冲区(数组)的指针len - 缓冲区的大小flag - 调用方式(MSG_PEEK 或 MSG_OOB) [返回值]成功时返回收到的字节数.假如连接被中断则返回0失败时返回 SOCKET_ERROR

---

sendto函数发送数据.[声明]int sendto ( SOCKET s , const char FAR *buf , int len , int flags , const struct sockaddr FAR *to , int token );[参数]s - 指向用Socket函数生成的Socket Descriptorbuf - 接受数据的缓冲区(数组)的指针len - 缓冲区的大小flag - 调用方式(MSG_DONTROUTE , MSG_OOB)to - 指向发送方SOCKET地址的指针token - 发送方SOCKET地址的大小 [返回值]成功时返回已经发送的字节数.失败时返回SOCKET_ERROR

标签: Windows系统
相关文章: