《Socket编程协议错误代码解析.docx》由会员分享,可在线阅读,更多相关《Socket编程协议错误代码解析.docx(14页珍藏版)》请在第一文库网上搜索。
1、10004Wsaeintr函数调用中断。该错误表白由于对WsAcance1B1ockingCa1I的调用,导致了一次调用被强行中断。10009Wsaebadf文献句柄错误。该错误表白提供的文献句柄无效。在MiCSoftWindowsCE下,socket函数也许返回这个错误,表白共享串口处在“忙”状态。10013WSAEACCES权限被拒。尝试对套接字进行操作,但被严禁。若试图在SeneIt。或WSASendTo中使用一种广播地址,但是尚未用SetSoCkoPt和SO_BROADCAST这两个选项设立广播权限,便会产生此类错误。10014Wsaefau1t地址无效。传给WinSoCk函数的指针地
2、址无效。若指定的缓冲区太小,也会产生这个错误。10022WSA日NVA1参数无效。指定了一种无效参数。例如,如果为WSA1oCtI调用指定了一种无效控制代码,便会产生这个错误。此外,它也也许表白套接字目前的状态有错,例如在一种目前没有监听的套接字上调用accept或WSAAccepto10024WSAEMFI1E打开文献过多。提示打开的套接字太多了。一般,MiCroSoft提供者只受到系统内可用资源数量的限制。10035WSAEWOU1DB1OCK资源临时不可用。对非锁定套接字来说,如果祈求操作不能立即执行的话,一般会返回这个错误。例如说,在一种非暂停套接字上调用conect,就会返回这个错误
3、。由于连接祈求不能立即执行。10036WSA日NPROGRESS操作正在进行中。目前正在执行非锁定操作。一般来说不会浮现这个错误,除非正在开发16位Wins。ck应用程序。10037WSAEA1READY操作已完毕。一般来说,在非锁定套接字上尝试已处在进程中的操作时,会产生这个错误。例如,在一种已处在连接进程时非锁定套接字上,再一次调用conectcWSAConnecto此外,服务提供者处在执行回调函数(针对支持回调例程的Wins0ck函数)的进程中时,也会浮现这个错误。10038-WsaenotsoCK无效套接字上的套接字操作。任何一种把SOCKET句柄当作参数的Winsock函数都会返回这
4、个错误。它表白提供的套接字句柄无效。10039-WSAEDESTADDRREQ需要目的地址。这个错误表白没有提供具体地址。比方说,如果在调用sendto时,将目的地址设为NADDR_ANY(任意地址),便会返回这个错误。10040wsAemsgsize消息过长。这个错误的含义诸多。如果在一种数据报套接字上发送一条消息,这条消息对内部缓冲区而言太大的话,就会产生这个错误。再例如,由于网络自身的限制,使一条消息过长,也会产生这个错误。最后,如果收到数据报之后,缓冲区太小,不能接受消息时,也会产生这个错误。1O041-WSAEPROTOTYPE套接字合同类型有误。在s。Cket或WSASoCket调
5、用中指定的合同不支持指定的套接字类型。例如,规定建立Se)CK_STREAM类型的一种IP套接字,同步指定合同为IPPROTO_UDP,便会产生这样的错误。10042WSAENOPROTOOPT合同选项错误。表白在gets。CkoPt或SetSOCkc)Pt调用中,指定的套接字选项或级别不明、未获支持或者无效。10043Wsaeprotonosupport不支持的合同。系统中没有安装祈求的合同或没有相应的实行方案。例如,如果系统中没有安装TCP/IP,而试着建立TCP或UDP套接字时,就会产生这个错误。10044Wsaesocktnosupport不支持的套接字类型。对指定的地址家族来说,没有
6、相应的具体套接字类型支持。例如,在向一种不支持原始套接字的合同祈求建立一种SOCk_raw套接字类型时,就会产生这个错误。10045WSAEOPNOTSUPP不支持的操作。表白针对指定的对象,试图采用的操作未获支持。一般,如果试着在一种不支持调用Winsock函数的套接字上调用了Wins0ck时,就会产生这个错误。例如,在一种数据报套接字上调用aCCePt或WSAACcePt函数时,就会产生这样的错误。10046WSAEPFNOSUPPORT不支持的合同家族。祈求的合同家族不存在,或系统内尚未安装。多数状况下,这个错误可与WSaeAfnosupport互换(两者等价);后者浮现得更为频繁。10
7、047WSaeAfnosupport地址家族不支持祈求时操作。对套接字类型不支持的操作来说,在试着执行它时,就会浮现这个错误。例如,在类型为SoCQSTREAM的一种套接字上调用Sendt。或WSASendT。函数时,就会产生这个错误。此外,在调用SoCket或WSASocket函数的时候,若同步祈求了一种无效的地址家族、套接字类型及合同组合,也会产生这个错误。10048WSAEADDRINUSE地址正在使用。正常状况下,每个套接字只容许使用一种套接字地址(例如,一种IP套接字地址由本地IP地址及端标语构成)。这个错误一般和bind、ConneCt和WSACOnneCt这三个函数有关。可在se
8、tsockopt函数中设立套接字选项SO_REUSEADDR,容许多种套接字访问同一种本地IP地址及端标语(详情见第9章)o10049wsAeaddrnotavai1不能分派祈求的地址。AP1调用中指定的地址对那个函数来说无效时,就会产生这样的错误。例如,若在bind调用中指定一种IP地址,但却没有相应的本地IP接口,便会产生这样的错误。止匕外,通过COectWSAConectxSendto、WSASendTo和WSAJ0in1eaf这四个函数为准备连接的远程计算机指定端口0时,也会产生这样的错误。10050WSAENETDOWN网络断开。试图采用一项操作时,却发现网络连接中断。这也许是由于网
9、络堆栈的错误,网络接口的故障,或者本地网络的问题导致时。1005I-WSAENETUNREACH网络不可达到。试图采用一项操作时,却发现目的网络不可达到(不可访问)。这意味着本地主机不懂得如何达到一种远程主机。换言之,目前没有已知的路由可达到那个目的主机。10052Wsaenetreset网络重设时断开了连接。由于“保持活动”操作检测到一种错误,导致网络连接的中断。若在一种已经无效的连接之上,通过SaSOCkopt函数设立SO_KEEPA1IVE选项,也会浮现这样的错误。10053WSAECONNABORTED软件导致连接取消。由于软件错误,导致一种已经建立的连接被取消。典型状况下,这意味着连
10、接是由于合同或超时错误而被取消的。10054WsAeconnreset连接被对方重设。一种已经建立的连接被远程主机强行关闭。若远程主机上的进程异常中断运营(由于内存冲突或硬件故障),或者针对套接字执行了一次强行关闭,便会产生这样的错误。针对强行关闭时状况,可用SO_1INGER套接字选项和Setsockopt来配备一种套接字(欲知详情,请参阅第9章)。10055Wsaenobufs没有缓冲区空间。由于系统缺少足够的缓冲区空间,祈求的操作不能执行。10056WSAEISCONN套接字已经连接。表白在一种已建立连接的套接字上,试图再建立一种连接。要注意的是,数据报和数据流套接字均有也许浮现这样的错
11、误。使用数据报套接字时,如果事先已通过ConneCt或WSAConnect调用,为数据报通信关联了一种端点的地址,那么后来试图再次调用sendto或WSASendTo,便会产生这样的错误。10057WSAENOTCONN套接字尚未连接。若在一种尚未建立连接时“面向连接”套接字上发出数据收发祈求,便会产生这样的错误。10058-WSAESHUTDOWN套接字关闭后不能发送。表白已通过对ShUtdoWn的一次调用,部分关闭了套接字,但事后又祈求进行数据的收发操作。要注意的是,这种错误只会在已经关闭的那个数据流动方向上才会发生。举个例子来说,完毕数据发送后,若调用shutdown,那么后来任何数据发
12、送调用都会产生这样的错误。10060WSAETIMEDOUT连接超时。若发出了一种连接祈求,但通过规定的时间,远程计算机仍未作出对时的响应(或主线没有任何响应),便会发生这样的错误。要想收到这样的错误,一般需要先在套接字上设立好SO_SNDTIME。和SO_RCVTIMEO选项,然后调用COnneCt及WSACOnnect函数。要想理解在套接字上设立SC1SNDTIMEO和SO_RCVTIMEO选项的详情,可参照第9章。10061Wsaeconnrefused连接被拒。由于被目的机器回绝,连接无法建立。这一般是由于在远程机器上,没有任何应用程序可在那个地址之上,为连接提供服务。10064WSA
13、EHOSTDOWN主机关闭。这个错误指出由于目的主机关闭,导致操作失败。然而,应用程序此时更有也许收到的是一条WSAETIMEDoUT(连接超时)错误,由于对方关机的状况一般是在试图建立一种连接的时候发生叽10065wsAehostunreach没有到主机的路由。应用程序试图访问一种不可达到的主机。该错误类似于WSAENETUNREACHo10067Wsaeproc1im进程过多。有些Winsock服务提供者对可以同步访问它们的进程数量进行了限制。1009I-Wsasysnotready网络子系统不可用。调用WSAStQrtUP时,若提供者不能正常工作(由于提供服务的基层系统不可用),便会返回
14、这种错误。1OO92WsavernotsupportedWinsock.d1I版本有误。表白不支持祈求的WinSoCk提供者版本O10093WSANOTINITIA1ISEDWinsock尚未初始化。尚未成功完毕对WSAStrtup时一次调用。10101WSAEDISCON正在沉着关闭。这个错误是由WSARecv和WSARecvFrom返回时,指出远程主机已初始化了一次沉着关闭操作。该错误是在像ATM这样的“面向消息”合同上发生的。10102Wsaenomore找不到更多的记录。这个错误自WSA1kupServiceNext函数返回,指出已经没有留下更多的记录。这个错误一般可与WSA_E_NO
15、_MORE互换使用。在应用程序中,应同步检查这个错误以及WSA_E_NOMOREo1O103WSAECANCE11ED操作被取消。这个错误指出当WSA1OokUPSerViCeNeXt调用仍在解决期间,发出了对WSA1kUpServiceEnC1(服务中断)的一种调用。此时,WSA1OOkupServiceNeXt便会返回这个错误。这个错误代码可与WSA_E_CANCE11ED互换使用。作为应用程序,应同步检查这个错误以及WSA_E_CANCE11ED。10104WSAEINva1idproctab1e进程调用表无效。该错误一般是在进程表涉及了无效条目的状况下,由一种服务提供者返回时。欲知服务提供者的详情,可参照第14章。10105WSA日NVA11DPROV1DER无效的服务提供者。这个错误同服务提供者关联在一起,在提供者不能建立对时的Winsock版本,从而无法正常工作的前提下产生。10106WSaeProviderfai1edinit提供者初始化失败。这个错误同服务提供者关联在一起,一般见于提供者不能载入需要的D11时。10107Wsasysca11fai1ure系统调用失败。表白绝对不应失败的一种系统调用却令人遗憾地失败了。10108WSASERVIce_not_found找不到这样的服务。这个错误一般与注册和名字解析函