winsock.h(Socket编程)
来源:互联网 发布:大数据平台运维文档 编辑:程序博客网 时间:2024/05/17 23:09
利用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
10、listen()函数(补充)
(1)简述
创建一个套接口并监听申请的连接.
#include <winsock.h>
int PASCAL FAR listen( SOCKET s, int backlog);
S:用于标识一个已捆绑未连接套接口的描述字。
backlog:等待连接队列的最大长度。
(2)注释
为了接受连接,先用socket()创建一个套接口,然后用listen()为申请进入的连接建立一个后备日志,然后便可用accept()接受连接了。listen()仅适用于支持连接的套接口,如SOCK_STREAM类型的。套接口s处于一种“变动”模式,申请进入的连接请求被确认,并排队等待被接受。这个函数特别适用于同时有多个连接请求的服务器;如果当一个连接请求到来时,队列已满,那么客户将收到一个WSAECONNREFUSED错误。
当没有可用的描述字时,listen()函数仍试图正常地工作。它仍接受请求直至队列变空。当有可用描述字时,后续的一次listen()或accept()调用会将队列按照当前或最近的“后备日志”重新填充,如有可能的话,将恢复监听申请进入的连接请求。
(3)兼容性
后备日志当前被(默认地)限制为5。如同4.3 BSD Unix中的一样,小于1或大于5的数都会被舍入最近的有效值。
(4)返回值
如无错误发生,listen()返回0。否则的话,返回SOCKET_ERROR错误,应用程序可通过WSAGetLastError()获取相应错误代码。
(5)错误代码
WSANOTINITIALISED:在使用此API之前应首先成功地调用WSAStartup()。
WSAENETDOWN:WINDOWS套接口实现检测到网络子系统失效。
WSAEADDRINUSE:试图用listen()去监听一个正在使用中的地址。
WSAEINPROGRESS:一个阻塞的WINDOWS套接口调用正在运行中。
WSAEINVAL:该套接口未用bind()进行捆绑,或已被连接。
WSAEISCONN:套接口已被连接。
WSAEMFILE:无可用文件描述字。
WSAENOBUFS:无可用缓冲区空间。
WSAENOTSOCK:描述字不是一个套接口。
WSAEOPNOTSUPP:该套接口不正常listen()调用。
参见:
accept(), connet(), socket().
- winsock.h(Socket编程)
- WINSOCK API的Socket编程
- WINSOCK API的Socket编程
- winsock编程,socket建立步骤
- Socket中winsock.h和winsock2.h的不同
- Vc++编程winsock ---Socket(套接字)
- pb基于Winsock的socket编程
- pb基于Winsock的socket编程
- pb基于Winsock的socket编程
- pb基于Winsock的socket编程
- Vc++编程winsock ---Socket(套接字)
- 网络编程Winsock——socket
- SOCKET通信——winsock编程
- Windows Socket 网络编程(四) —— Winsock 编程接口
- Winsock 网络编程 Socket模型之Select模型
- Winsock 网络编程 Socket模型之WSAAsyncSelect模型
- Winsock 网络编程 Socket模型之WSAEventSelect模型
- Winsock 网络编程 Socket模型之Overlapped模型
- socket简单练习
- c#中接收16进制串口数据(com), 在textbox显示
- WinSock完成端口I/O模型
- 主动FTP模式与被动FTP模式
- 如何查看linux系统host的cpu是多少位的,物理cpu有几个,每个是几核
- winsock.h(Socket编程)
- pager-taglib+struts2
- 用ASP将数据库中的数据直接导出到EXCEL表中
- 苏宁国美盈利报警:线下乏力线上重金加码
- Append-only tables in Greenplum
- 用ASP和SQL语句动态的创建Access表
- 互掐盗播风云再起 三大视频网站存和解可能
- Xcode4.3.2真机调试NSLog无法输出中文的解决方法
- 深入理解JRE和JVM的区别及联系