wsastartup为什么无法在线程中创建socket?WSAstartup函数总是无法初始化

wsastartup  时间:2021-06-07  阅读:()

send这个词是什么意思

send() 简述: 向一个已连接的套接口发送数据。

#include <winsock.h> int PASCAL FAR send( SOCKET s, const char FAR* buf, int len, int flags); s:一个用于标识已连接套接口的描述字。

buf:包含待发送数据的缓冲区。

len:缓冲区中数据的长度。

flags:调用执行方式。

注释: send()适用于已连接的数据报或流式套接口发送数据。

对于数据报类套接口,必需注意发送数据长度不应超过通讯子网的IP包最大长度。

IP包最大长度在WSAStartup()调用返回的WSAData的iMaxUdpDg元素中。

如果数据太长无法自动通过下层协议,则返回WSAEMSGSIZE错误,数据不会被发送。

请注意成功地完成send()调用并不意味着数据传送到达。

如果传送系统的缓冲区空间不够保存需传送的数据,除非套接口处于非阻塞I/O方式,否则send()将阻塞。

对于非阻塞SOCK_STREAM类型的套接口,实际写的数据数目可能在1到所需大小之间,其值取决于本地和远端主机的缓冲区大小。

可用select()调用来确定何时能够进一步发送数据。

在相关套接口的选项之上,还可通过标志位flag来影响函数的执行方式。

也就是说,本函数的语义既取决于套接口的选项也取决于标志位。

后者由以下一些值组成: 值 意义 MSG_DONTROUTE 指明数据不选径。

一个WINDOWS套接口供应商可以忽略此标志;MSG_OOB 发送带外数据(仅适用于SO_STREAM;)。

返回值: 若无错误发生,send()返回所发送数据的总数(请注意这个数字可能小于len中所规定的大小)。

否则的话,返回SOCKET_ERROR错误,应用程序可通过WSAGetLastError()获取相应错误代码。

错误代码: WSANOTINITIALISED:在使用此API之前应首先成功地调用WSAStartup()。

WSAENETDOWN:WINDOWS套接口实现检测到网络子系统失效。

WSAEACESS:要求地址为广播地址,但相关标志未能正确设置。

WSAEINTR:通过一个WSACancelBlockingCall()来取消一个(阻塞的)调用。

WSAEINPROGRESS:一个阻塞的WINDOWS套接口调用正在运行中。

WSAEFAULT:buf参数不在用户地址空间中的有效位置。

WSAENETRESET:由于WINDOWS套接口实现放弃了连接,故该连接必需被复位。

WSAENOBUFS:WINDOWS套接口实现报告一个缓冲区死锁。

WSAENOTCONN:套接口未被连接。

WSAENOTSOCK:描述字不是一个套接口。

WSAEOPNOTSUPP:已设置了MSG_OOB,但套接口非SOCK_STREAM类型。

WSAESHUTDOWN:套接口已被关闭。

一个套接口以1或2的how参数调用shutdown()关闭后,无法再用sned()函数。

WSAEWOULDBLOCK: WSAEMSGSIZE:套接口为SOCK_DGRAM类型,且数据报大于WINDOWS套接口实现所支持的最大值。

WSAEINVAL:套接口未用bind()捆绑。

WSAECONNABORTED:由于超时或其他原因引起虚电路的中断。

WSAECONNRESET:虚电路被远端复位。

参见: recv(), recvfrom(), socket(), sendto(), WSAStartup(). 下面是词典的意思 send 词性及解释 vt. 发送, 使进入, 寄, 派遣, 发射, 使陷于 vi. 寄信, 派人, 播送 n. (船的)上升运动 【计】 发送

为什么会出现“WSASTartupk0 error"啊?

WSAStarup,即WSA(Windows SocKNDs Asynchronous,Windows套接字异步)的启动命令。

启动命令错误,估计系统文件丢失得重装。

#.net开发socket程序 在初始化socket环境时 用WSAStartup 老提示 “当前上下文中不存在名称WSAStartup”

WSAStartup 是win32 API,在中,当然不存在这个函数了。

用开发socket程序,不需要再调用 WSAStartup 和 WSACleanup了。

//-------------------------------------------------- 这个问题倒还真的没有碰见过 程序是在windows下运行的吗? Win 95以上的操作系统都支持这个函数,它在Ws2_32.dll中。

莫非是你的Ws2_32.dll被篡改过了?

电脑出现wsastartup:10107怎么解决

10107的错误,是由内存分配及访问不当引起的.   问题原由:   假如用HeapAlloc()分配一段大小为1024字节的内存区.而在后面代码中对这段内存区操作,将它看成大小为1050个字节,内存访问越界,而程序没有报错,后面就引起了一系列问题,如:HeapAlloc分配内存失败,WSASend失败等等,很罕见的问题.   WSAStartup,即WSA(Windows Sockets Asynchronous,Windows异步套接字)的启动命令。

是Windows下的网络编程接口软件Winsock1 或 Winsock2 里面的一个命令(Ps:Winsock 是由Unix下的BSD Socket发展而来,是一个与网络协议无关的编程接口)。

为什么无法在线程中创建socket?WSAstartup函数总是无法初始化

因为新建线程的环境与主线程不同,这种新线程的内存和资源是与主线程的内存资源是隔离的,通常在新线程里要调用资源,都是通过主线程创建新线程过程时传递过来的参数进行类重现让主线程进行异步的工作,如果想完全独立这种线程,那你最好就自己加载库文件和加载库文件的函数指针来使用,因为这时,你在程序里用的 include 你都不能访问,只能自己靠C++编译的基本语句工作,要使用如API函数资源,需要自己 LoadLibrary 资源才可以,有兴趣你可以了解一下线程注入技术,其线程就是这种独立的工作线程,没用一个函数都需要自己加载。

妮妮云,美国cera CN2线路,VPS享3折优惠

近期联通CUVIP的线路(AS4837线路)非常火热,妮妮云也推出了这类线路的套餐以及优惠,目前到国内优质线路排行大致如下:电信CN2 GIA>联通AS9929>联通AS4837>电信CN2 GT>普通线路,AS4837线路比起前两的优势就是带宽比较大,相对便宜一些,所以大家才能看到这个线路的带宽都非常高。妮妮云互联目前云服务器开放抽奖活动,每天开通前10台享3折优惠,另外...

npidc:9元/月,cn2线路(不限流量)云服务器,金盾+天机+傲盾防御CC攻击,美国/香港/韩国

npidc全称No Problem Network Co.,Limited(冇問題(香港)科技有限公司,今年4月注册的)正在搞云服务器和独立服务器促销,数据中心有香港、美国、韩国,走CN2+BGP线路无视高峰堵塞,而且不限制流量,支持自定义内存、CPU、硬盘、带宽等,采用金盾+天机+傲盾防御系统拦截CC攻击,非常适合建站等用途。活动链接:https://www.npidc.com/act.html...

ucloud国内云服务器2元/月起;香港云服务器4元/首月;台湾云服务器3元/首月

ucloud云服务器怎么样?ucloud为了扩大云服务器市场份额,给出了超低价云服务器的促销活动,活动仍然是此前的Ucloud全球大促活动页面。目前,ucloud国内云服务器2元/月起;香港云服务器4元/首月;台湾云服务器3元/首月。相当于2-4元就可以试用国内、中国香港、中国台湾这三个地域的云服务器1个月了。ucloud全球大促仅限新用户,国内云服务器个人用户低至56元/年起,香港云服务器也仅8...

wsastartup为你推荐
身份证正反面图片身份证正反面照片。本人手持身份证照片。 银行卡正反面照片。 本人电话号码就能办信用卡真的吗迅雷地址转换下载地址转换 怎么把别人的资源转换成迅雷地址 并且下载文件名改成自己想要的名字迅雷地址转换网页上的迅雷下载功能是怎么实现的,难道是用链接转换工具把普通下载地址转换成迅雷下载地址?谢谢 谢谢chinapaychinapay是什么垃圾东西!自动识别查询快递单号查看单号怎么知道是那个快递公司的y码女款衣服XXL、XL、XXXL尺码分别是多大?网络审计网经科技1820听说是网络审计路由器,大家知道怎么样吗?设备支持多少用户啊部署工具如何使用office2016部署软件腾讯技术腾讯是什么东西?单元测试规范如何写线程池的单元测试
免费vps服务器 广西虚拟主机 美国主机排名 idc评测 日本软银 flashfxp怎么用 ddos highfrequency inmotionhosting mediafire mach5 512au win8升级win10正式版 本网站在美国维护 免费网站申请 服务器维护方案 双线主机 免费防火墙 昆明蜗牛家 支付宝扫码领红包 更多