C函数篇(socket函数)
简述
创建⼀个套接⼝。 #include <winsock.h> SOCKET PASCAL FAR socket( int af, int type, int protocol); af:⼀个地址描述。⽬前仅⽀持AF_INET格式,也就是说ARPA Internet地址格式。 type:新的类型描述。 protocol:所⽤的协议。如调⽤者不想指定,可⽤0指定,表⽰缺省。
注释
socket()函数⽤于根据指定的地址族、和协议来分配⼀个的描述字及其所⽤的资源。如果协议protocol未指定(等于0),则使⽤缺省的连接⽅式。对于使⽤⼀给定地址族的某⼀特定,只⽀持⼀种协议。但地址族可设为AF_UNSPEC(未指定),这样的话协议参数就要指定了。协议号特定于进⾏通讯的“通讯域”。⽀持下述类型描述: 类型解释 SOCK_STREAM 提供有序的、可靠的、双向的和基于连接的字节流,使⽤带外数据传送机制,为Internet地址族使⽤TCP。 SOCK_DGRAM ⽀持⽆连接的、不可靠的和使⽤固定⼤⼩(通常很⼩)缓冲区的,为Internet地址族使⽤UDP。 SOCK_STREAM类型的为全双向的。对于流类,在接收或发送数据前必需处于已连接状态。⽤调⽤建⽴与另⼀的连接,连接成功后,即可⽤和recv()传送数据。当会话结束后,调⽤closesocket()。根据规定⽤和recv()来接收。 实现
SOCK_STREAM类型的通讯协议保证数据不会丢失也不会重复。如果终端协议有缓冲区空间,且数据不能在⼀定时间成功发送,则认为连接中断,其后续的调⽤也将以WSAETIMEOUT错误返回。 SOCK_DGRAM类型允许使⽤和recvfrom()从任意端⼝发送或接收数据报。如果这样⼀个⽤与⼀个指定端⼝连接,则可⽤和recv()与该端⼝进⾏数据报的发送与接收。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论