套接口库函数参考(二)

2010-12-30 21:03:01 · 作者: · 浏览: 59139

 

返回值:

  如果没有错误产生,则accept()返回一个描述所接受包的SOCKET类型的值。否则的话,返回INVALID_SOCKET错误,应用程序可通过调用WSAGetLastError()来获得特定的错误代码。

  addrlen所指的整形数初始时包含addr所指地址空间的大小,在返回时它包含实际返回地址的字节长度。

 

错误代码:

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

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

  WSAEFAULTaddrlen参数太小(小于socket结构的大小)。

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

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

  WSAEINVAL:在accept()前未激活listen()

  WSAEMFILE:调用accept()时队列为空,无可用的描述字。

  WSAENOBUFS:无可用缓冲区空间。

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

  WSAEOPNOTSUPP:该套接口类型不支持面向连接服务。

  WSAEWOULDBLOCK:该套接口为非阻塞方式且无连接可供接受。

 

参见:

  bind(), connect(), listen(), select(), socket(), WSAAsyncSelect().

 

 

5.1.2 bind()

简述:

  将一本地地址与一套接口捆绑。

 

  #include <winsock.h>

 

  int PASCAL FAR bind( SOCKET s, const struct sockaddr FAR* name,