WSASocket()与Socket()的区别
来源:互联网 发布:多功能圣经软件下载 编辑:程序博客网 时间:2024/05/22 17:51
1 WSA: Windows Socket Asynchronized Windows异步套接字。Windows中通过消息队列实现的对socket的异步处理模式。3 DGRAM: DataGRAM 数据报表。相对于TCP这样的流式传输,这个是通过数据包直接通讯的。5 FAR: 长指针,Windows环境不存在这种指针。所以这里的FAR没有意义。6 AF_INET: Address Family InterNET。也就是使用IP地址。
2 lp (Long Pointer 指针) + WSA + Data。4 WSA + E(Error) + Fault7 WSAE 是 WSA + Error 8 用来表示变量的类型
WSASocket是Windows专用,支持异步操作;
socket是unix标准,只能同步操作。
Socket可采用多线程实现非阻塞
*******原文:http://hi.baidu.com/%B9%A6%BB%D4cgh/blog/item/c610f713abbb0609b9127b99.html******/
winsock是socket的windows平台的实现。winsock是微软专门为windows操作系统开发的socket网络编程接口,而socket是通用网络编程接口。
socket() 函数创建一个通讯端点并返回一个套接口。但是在socket库中例程在应用于阻塞套接口时会阻塞。WSASocket()的发送操作和接收操作都可以被重叠使用。接收函数可以被多次调用,发出接收缓冲区,准备接收到来的数据。发送函数也可以被多次调用,组成一个发送缓冲区队列。可是socket()却只能发过之后等待回消息才可做下一步操作!
Header: Declared in Winsock2.h.
Library: Use Ws2_32.lib.
SOCKET WSASocket(
int af,
int type,
int protocol,
LPWSAPROTOCOL_INFO lpProtocolInfo,
GROUP g,
DWORD dwFlags
);
af:地址族描述。目前仅支持PF_INET格式,亦即ARPA Internet地址格式。
type:新套接口的类型描述。
protocol:套接口使用的特定协议,如果调用者不愿指定协议则定为0。
lpProtocolInfo:一个指向PROTOCOL_INFO结构的指针,该结构定义所创建套接口的特性。如果本参数非零,则前三个参数(af, type, protocol)被忽略。
g:套接口组的描述字。
iFlags:套接口属性描述。
返回值:
若无错误发生,WSASocket()返回新套接口的描述字。否则的话,返回 INVALID_SOCKET,应用程序可以调用WSAGetLastError()来获取相应的错误代码。
错误代码:
WSANOTINITIALISED 在调用本API之前应成功调用WSAStartup()。
WSAENETDOWN 网络子系统失效。
WSAEAFNOSUPPORT 不支持指定的地址族。
WSAEINPROGRESS 一个阻塞的WinSock调用正在进行中,或者服务提供者仍在处理一个回调函数
WSAEMFILE 无可用的套接口描述字。
WSAENOBUFS 无可用的缓冲区空间。套接口无法创建。
WSAEPROTONOSUPPORT 不支持指定的协议。
WSAEPROTOTYPE 指定的协议对于本套接口类型错误。
WSAESOCKTNOSUPPORT 本地址族不支持指定的套接口类型。
WSAEINVAL g参数非法。
- Socket()与WSASocket()的区别
- Socket()与WSASocket()的区别
- WSASocket()与Socket()的区别
- WSASocket()与Socket()的区别
- Socket与WSASocket的区别
- WSASocket()与Socket()的区别
- Socket与WSASocket的区别
- WSASocket()与Socket()的区别
- WSASocket()与Socket()的区别
- WSASocket与socket的异步IO区别
- WSASocket()和socket()两个函数的区别
- WSASocket()和socket()两个函数的区别
- WSASocket()的问题收集
- WSASocket()的问题收集
- WSASocket()
- socket与http的区别
- ServerSocket 与 Socket的区别
- socket与http的区别
- java 引用
- vector效率低怎么破?
- C++“准”标准库Boost学习指南(2):Boost.Conversion
- 【Primes on Interval】
- 导航栏效果
- WSASocket()与Socket()的区别
- I/O流之内存流
- 互联网广告系统综述五系统架构
- 顾问式销售的双赢理念
- 轮播图
- 杭电oj编码2009
- 京东版轮播图
- Linux下Mycat安装配置和使用
- c 语言 预处理标识符