ConnectEx

ConnectEx是一个极其必要的API,这个函数允许重叠的连续调用。

BOOL PASCAL ConnectEx(
__in SOCKET s,
__in const struct sockaddr* name,
__in int namelen,
__in_opt PVOID lpSendBuffer,
__in DWORD dwSendDataLength,
__out LPDWORD lpdwBytesSent,
__in LPOVERLAPPED lpOverlapped
);
s是预先绑定的套接字。name表示将要连接到的远程地址。namelen是这个套接字地址结构的长度。lpSendBuffer是一个可选指针,它指向建立连接之后将要发送的存储块。而dwSendDataLength指明将要发送的字节数。lpdwBytesSent被更新之后用来指明,在建立连接之后如果操作立刻完成的话,成功发送的字节数。lpOverlapped是和该操作管理的OVERLAPPED结构。这个扩展函数只可以用重叠方式调用。

就像AcceptEx函数一样,ConnectEx是为执行而设计的,因此任何预先设定的套接字选项或属性都不会自动拷贝到连接套接字。为了达到这一目的,在建立连接之后,应用程序必须在套接字上调用SO_UPDATE_CONNECT_CONTEXT。

传递到ConnectEx的套接字必须预先使用一个bind调用对之进行绑定。有一个重叠版本的连接,在建立连接后,可以选择性的多发送一个数据库。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值