winsock 函数简介

原创 2002年10月19日 01:00:00


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

2、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.

3、inet_addr函数
把好象"xxx.xxx.xxx.xxx"的10进制的IP地址转换为32位整数表示方法
[声明]
unsigned long inet_addr ( const char FAR *cp );
[参数]
cp - 指向用"xxx.xxx.xxx.xxx"的10进制来表示的IP地址字符串的指针
[返回值]
当函数成功调用时返回用32位整数表示的IP地址(按网络字节排列顺序)
失败时返回INADDR_NONE.

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

5、Bind函数
指定本地IP地址所使用的端口号时候使用
[声明]
int bind ( SOCKET s , const struct sockaddr FAR *addr , int namelen );
[参数]
s - 指向用Socket函数生成的Socket Descriptor
addr - 指向Socket地址的指针
namelen - 该地址的长度.
[返回值]
当函数成功调用时返回0
调用失败时返回 SOCKET_ERROR

6、connect函数
用于与服务器建立连接,发出连接请求,必须在参数中指定服务器的IP地址和端口号
[声明]
int connect (SOCKET s , const struct sockaddr FAR *name , int namelen );
[参数]
s - 指向用Socket函数生成的Socket Descriptor
name - 指向服务器地址的指针
namelen - 该地址的长度.
[返回值]
当函数成功调用时返回0
调用失败时返回 SOCKET_ERROR

7、select函数
可以用于调查一个或多个SOCKET的状态.
[声明]
int select ( int nfds , fd_set FAR *readfds , fd_set FAR *writefds , fd_set FAR *exceptfds , const struct timeval FAR *timeout );
[参数]
nfds - 在WINDOWS SOCKET API 中该参数可以忽略,通常赋予NILL值
readfds - 由于接受的SOCKET设备的指针
writefds - 用于发送数据的SOCKET设备的指针
exceptfds - 检查错误的状态
timeout - 超时设定
[返回值]
返回大于0的值时,表示与条件相符的SOCKET数
返回0表示超时
失败时返回SOCKET_ERROR

8、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

9、sendto函数
利用Socket进行发送数据.
[声明]
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

Winsock简介

Winsock有两个主要的版本,Winsock1和Winsock2。Winsock2对Winsock1的基础上进行了更新或添加新的API函数,用函数名前的WSA前缀来区分版本。开发新应用程序请使用Wi...
  • luozenghui529480823
  • luozenghui529480823
  • 2013年10月25日 23:09
  • 2759

Winsock 函数简介

1、WSAStartup函数用于初始化Winsock[声明]  nt WSAStarup(WORD wVersionRequested,LPWSADATA lpWSAData);[参数]   wVer...
  • wqs6
  • wqs6
  • 2007年05月09日 18:14
  • 433

WinSock API编程通用的操作步骤

学习Socket编程,看到 (1) Winsock的打开(使用WSAStartup()来实现) 因为WinSock的服务是以动态链接库形式来实现的,因此必须首先对 WinSock  DLL进行初...
  • u010450926
  • u010450926
  • 2014年05月24日 01:32
  • 1567

winsock recv函数使用注意

Winsock int recv( SOCKET s, char FAR *buf, int len, int flags 支持M...
  • mengzhisuoliu
  • mengzhisuoliu
  • 2016年08月12日 15:49
  • 1060

Winsock的几个有用的Api函数

 一, GetHostByName struct hostent *gethostbyname(const char *name);    这个函数的传入值是域名或者主机名,例如"www.google...
  • formiss
  • formiss
  • 2007年05月09日 10:43
  • 1306

WinSock send函数和recv函数详解

send函数  int send( SOCKET s,   const char FAR *buf,   int len,   int flags );  不论是客户还是服务器应用程序都用send函数...
  • lishuqian
  • lishuqian
  • 2006年09月04日 19:18
  • 14816

Winsock API: recv

参考MSDN:http://msdn.microsoft.com/en-us/library/windows/desktop/ms740121(v=vs.85).aspx The recv func...
  • s110600824s
  • s110600824s
  • 2013年03月11日 18:01
  • 449

1、Winsock库

Winsock有两个版本,Winsock1 和 Winsock2 现在开发网络应用程序都使用Winsock2,需要在程序中包含头文件winsock2.h, 它包含了绝大部分socket函数和相关结构类...
  • machuanfei_c
  • machuanfei_c
  • 2016年01月21日 23:31
  • 759

[转帖]winsock函数简介

1、WSAStartup函数用于初始化Winsock[声明]int WSAStarup(WORD wVersionRequested,LPWSADATA lpWSAData);[参数]wVersion...
  • ncdawen
  • ncdawen
  • 2005年12月28日 18:09
  • 1194

如何在PB中使用WINSOCK控件

如何在PB中使用WINSOCK控件      原著:达伟春   随着资源共享和实时通讯的需要,很多计算机应用程序早已甩开单兵作战的模式,转入联合行动。    网络在计算机世界里,...
  • lijianhe043
  • lijianhe043
  • 2011年10月09日 12:36
  • 5425
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:winsock 函数简介
举报原因:
原因补充:

(最多只允许输入30个字)