纳金网

标题: 透析ICMP协议(二): Windows Socket简介 [打印本页]

作者: 晃晃    时间: 2011-8-31 07:59
标题: 透析ICMP协议(二): Windows Socket简介

Windows 的Socket函数有许多, 我没有做详细介绍, 这里的函数都是简要说明其用途, 详细用法请参考MSDN.

这里的主要目的是为了后面的三个应用服务.
函数说明:

---------
WSAStartup函数

初始化Winsock

[声明]

int WSASt***p(WORD wVersionRequested,LPWSADATA lpWSA

Data);

[参数]

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函数

从主机名获取主机信息.

[声明]

s***ct 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 Descriptor

buf - 接受数据的缓冲区(数组)的指针

len - 缓冲区的大小

flag - 调用方式(MSG_PEEK 或 MSG_OOB)

[返回值]

成功时返回收到的字节数.

如果连接被中断则返回0

失败时返回 SOCKET_ERROR
---
sendto函数

发送数据.

[声明]

int sendto ( SOCKET s , const char FAR *buf , int len , int flags , const s***ct sockaddr FAR *to , int token );

[参数]

s - 指向用Socket函数生成的Socket Descriptor

buf - 接受数据的缓冲区(数组)的指针

len - 缓冲区的大小

flag - 调用方式(MSG_DONTROUTE , MSG_OOB)

to - 指向发送方SOCKET地址的指针

token - 发送方SOCKET地址的大小

[返回值]

成功时返回已经发送的字节数.

失败时返回SOCKET_ERROR

作者: Asen    时间: 2011-8-31 09:59

作者: C.R.CAN    时间: 2012-2-18 23:23
不错哦,谢谢楼主

作者: 菜刀吻电线    时间: 2012-3-18 23:22
凡系斑竹滴话要听;凡系朋友滴帖要顶

作者: 菜刀吻电线    时间: 2012-3-19 23:31
不错哦,顶一下......

作者: C.R.CAN    时间: 2012-3-22 23:24
不会吧,太恐怖了

作者: C.R.CAN    时间: 2012-4-8 23:27
不错 非常经典  实用

作者: tc    时间: 2012-4-24 08:05
其实楼主所说的这些,俺支很少用!

作者: C.R.CAN    时间: 2012-5-13 23:19
长了不少见识

作者: tc    时间: 2012-5-25 23:26
加精、加亮滴铁子,尤其要多丁页丁页

作者: 奇    时间: 2012-7-28 23:21
百度的叫度娘,网易的叫易娘,新浪内部还在为是叫新娘还是浪娘而争论不休!……不管你们是企鹅的额娘,豆瓣的伴娘,还是华为的伪娘,都要记得,淘宝才是你们的亲娘啊!亲!!

作者: 晃晃    时间: 2012-9-29 23:21
非常感谢,管理员设置了需要对新回复进行审核,您的帖子通过审核后将被显示出来,现在将转入主题

作者: 奇    时间: 2012-9-30 23:24
楼主收集的可真全哦

作者: 晃晃    时间: 2012-10-3 23:21
先顶上去,偶要高亮加精鸟!

作者: 晃晃    时间: 2013-2-20 23:19
心中有爱,爱咋咋地





欢迎光临 纳金网 (http://go.narkii.com/club/) Powered by Discuz! X2.5