Windows Socket简介

来源:互联网 发布:网络销售哪些是违法的 编辑:程序博客网 时间:2024/06/08 03:18

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

原创粉丝点击