VC中使用API编写的socket程序中如何设置阻塞和非阻塞accept,recv

VC中使用API编写的socket程序中如何设置阻塞和非阻塞accept,recv,第1张

关于阻塞和非阻塞概念,可能有些初学编程的人不是很清楚 阻塞是指在函数执行时如果条件不满足,程序将永远停在那条函数那里不在往下执行,而非阻塞则是函数不管条件是否满足都会往下执行例如在通讯过程中,当接收数据的时候,对于阻塞方式,程序将一直等到接收到数据才向下执行,而对于非阻塞方式,不管是否接收到数据,接收函数将被执行过去一个比较完善的程序一般来讲都使用非阻塞的方式来进行原因在于如果采用阻塞方式,程序将停在那里一直等待条件满足,正常情况下是没有问题的,但如果你想停止阻塞的程序,就出现了比较麻烦的问题 对于VC中使用API方式进行的SOCKET编程,需要使用下面的函数来设置阻塞方式和非阻塞方式: ioctlsocket(gListenSocket, FIONBIO,&tBlockMode); //tBlockMode 0--block,1--no block ioctlsocket(gWorkSocket, FIONBIO,&tBlockMode); 注意,在开发server端程序时,这样设置会控制监听socket的accept()函数的阻塞和非阻塞模式,也可以设置工作socket的recv函数的阻塞和非阻塞模式设置了非阻塞模式,可以使用查询方式进行accept和recv函数执行

API可以用多种语言完成,不仅是C,也直接用汇编。其实就是把 *** 作系统内的函数整理出来,给开发人员用于编程,就是API

至于汇编语言,是一种编程语言,是一种仅比二进制语言高级的编程语言。

学API主要是Windows 底层开发,看Programming Windows 第五版。学汇编就学Intel的体系,intel主页有教程

以上就是关于VC中使用API编写的socket程序中如何设置阻塞和非阻塞accept,recv全部的内容,包括:VC中使用API编写的socket程序中如何设置阻塞和非阻塞accept,recv、API是用什么语言编写的汇编语言属于什么语言、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zz/10165201.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存