socket()函数用于根据指定的地址族、数据类型和协议来分配一个套接口的描述字及其所用的资源。如果协议protocol未指定(等于0),则使用缺省的连接方式。
对于使用一给定地址族的某一特定套接口,只支持一种协议。但地址族可设为AF_UNSPEC(未指定),这样的话协议参数就要指定了。协议号特定于进行通讯的“通讯域”。
 
 
创建一个套接口()。
#include <winsock.h>
SOCKET PASCAL FAR socket( int af, int type, int protocol);
af:一个地址描述。目前仅支持AF_INET格式,也就是说ARPA Internet地址格式。
type:指定socket类型。新套接口的类型描述类型,如TCP(SOCK_STREAM)和UDP(SOCK_DGRAM)。常用的socket类型有,SOCK_STREAM、SOCK_DGRAM、SOCK_RAW、SOCK_PACKET、SOCK_SEQPACKET等等。
protocol:顾名思义,就是指定协议。套接口所用的协议。如调用者不想指定,可用0。常用的协议有,IPPROTO_TCP、IPPROTO_UDP、IPPROTO_SCTP、IPPROTO_TIPC等,它们分别对应TCP传输协议、UDP传输协议、STCP传输协议、TIPC传输协议。
 
 
支持下述类型描述:
类型 解释
SOCK_STREAM 提供有序的、可靠的、双向的和基于连接的字节流,使用带外数据传送机制,为Internet地址族使用TCP。
SOCK_DGRAM 支持无连接的、不可靠的和使用固定大小(通常很小)缓冲区的数据报服务,为Internet地址族使用UDP。
SOCK_STREAM类型的套接口为全双向的字节流。对于流类套接口,在接收或发送数据前必需处于已连接状态。用connect()调用建立与另一套接口的连接,连接成功后,即可用send()和recv()传送数据。当会话结束后,调用closesocket()。带外数据根据规定用send()和recv()来接收。
实现SOCK_STREAM类型套接口的通讯协议保证数据不会丢失也不会重复。如果终端协议有缓冲区空间,且数据不能在一定时间成功发送,则认为连接中断,其后续的调用也将以WSAETIMEOUT错误返回。
SOCK_DGRAM类型套接口允许使用sendto()和recvfrom()从任意端口发送或接收数据报。如果这样一个套接口connect()与一个指定端口连接,则可用send()和recv()与该端口进行数据报的发送与接收。

最新文章

  1. NSObject+YYModel.h
  2. [原创]C++通用宏定义
  3. NODE-WEBKIT教程(12)全屏
  4. 使用backbone.js、zepto.js和trigger.io开发HTML5 App
  5. 2016温碧霞爱情《爱在深秋》HD720P.国语中字
  6. uva 11375
  7. json 语义分析
  8. 【贪心】Vijos P1615 旅行
  9. 怎样使用CMenu类
  10. PHP不使用递归的无限级分类
  11. PostgreSQL ----- No relations found.
  12. 利用OpenSSL创建证书链并应用于IIS7
  13. java —— equals 与 ==
  14. Ajax之Jquery封装使用举例2(Json和JsonArray处理)
  15. WebService简介-02
  16. DevExpress WPF v18.2新版亮点(五)
  17. Spring-boot+Spring-batch+hibernate+Quartz简单批量读文件写数据用例
  18. memcache图形管理工具
  19. Effective C++:条款23:宁以non-member、non-friend替换member函数
  20. 列表 -&gt;join---&gt; 字符串 转类型:x---&gt;y类型 y(x)

热门文章

  1. Boostrap(1)
  2. Daily Scrum – 1/12
  3. usefull-url
  4. WPF--Dispatcher.BeginInvoke()方法使用不当导致UI界面卡死的原因分析
  5. NServiceBus 结合 RabbitMQ 使用
  6. 缓存插件 EHCache 对象缓存(Spring)
  7. POJ 1740 A New Stone Game
  8. ACdream 1429 Rectangular Polygon
  9. 转-Android中自动连接到指定SSID的Wi-Fi
  10. Recon-Erlang线上系统诊断工具