Windows Sockets 错误码及出错原因

合集下载

Socket编程协议错误代码解析

Socket编程协议错误代码解析

10004—WSAEINTR函数调用中断。

该错误表明由于对WSACancelBlockingCall的调用,造成了一次调用被强行中断。

10009—WSAEBADF文件句柄错误。

该错误表明提供的文件句柄无效。

在MicrosoftWindowsCE下,socket函数可能返回这个错误,表明共享串口处于“忙”状态。

10013—WSAEACCES权限被拒。

尝试对套接字进行操作,但被禁止。

若试图在sendto或WSASendTo中使用一个广播地址,但是尚未用setsockopt和SO_BROADCAST这两个选项设置广播权限,便会产生这类错误。

10014—WSAEFAULT地址无效。

传给Winsock函数的指针地址无效。

若指定的缓冲区太小,也会产生这个错误。

10022—WSAEINVAL参数无效。

指定了一个无效参数。

例如,假如为WSAIoctl调用指定了一个无效控制代码,便会产生这个错误。

另外,它也可能表明套接字当前的状态有错,例如在一个目前没有监听的套接字上调用accept或WSAAccept。

10024—WSAEMFILE打开文件过多。

提示打开的套接字太多了。

通常,Microsoft提供者只受到系统内可用资源数量的限制。

10035—WSAEWOULDBLOCK资源暂时不可用。

对非锁定套接字来说,如果请求操作不能立即执行的话,通常会返回这个错误。

比如说,在一个非暂停套接字上调用connect,就会返回这个错误。

因为连接请求不能立即执行。

10036—WSAEINPROGRESS操作正在进行中。

当前正在执行非锁定操作。

一般来说不会出现这个错误,除非正在开发16位Winsock应用程序。

10037—WSAEALREADY操作已完成。

一般来说,在非锁定套接字上尝试已处于进程中的操作时,会产生这个错误。

比如,在一个已处于连接进程的非锁定套接字上,再一次调用connect或WSAConnect。

另外,服务提供者处于执行回调函数(针对支持回调例程的Winsock函数)的进程中时,也会出现这个错误。

android studio unrecognized windows sockets error

android studio unrecognized windows sockets error

android studio unrecognized windows sockets errorAndroid Studio 报错 "unrecognized windows sockets error" 通常是由于网络问题或环境配置问题导致的。

以下是一些可能的解决方案:1. **检查网络连接**:确保你的网络连接稳定,可以访问互联网。

2. **防火墙或安全软件**:有时,防火墙或安全软件可能会阻止Android Studio 访问网络。

尝试临时禁用防火墙或安全软件,然后重新启动 Android Studio。

3. **代理设置**:如果你在使用代理服务器,确保 Android Studio的代理设置是正确的。

4. **更新 Android Studio 和 Gradle**:确保你的 Android Studio 和 Gradle 都是最新版本。

可以通过 "File" -> "Settings" (或"Android Studio" -> "Preferences" on macOS) -> "Updates" 检查更新。

5. **清理和重建项目**:在 Android Studio 中,选择 "Build" -> "Clean Project",然后 "Build" -> "Rebuild Project"。

6. **检查项目文件**:确保你的 `build.gradle` 文件和其他相关配置文件没有错误或遗漏。

7. **重新安装 Android Studio**:如果上述方法都不起作用,尝试卸载 Android Studio 并重新下载安装。

8. **查看日志文件**:Android Studio 的日志文件可能包含更多关于这个错误的详细信息。

unrecognized windows sockets error 0

unrecognized windows sockets error 0

“Unrecognized Windows Sockets error 0”是一个常见的Windows Socket错误,通常是由于服务器端口被占用导致的。

以下是两种常见的解决方法:
更改服务器的端口号:到Tomcat目录下的conf文件夹下,找到server.xml文件,然后修改<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />中的端口号。

例如,你可以将端口从8080更改为8088,即<Connector port="8088" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />。

关闭占用当前端口的进程:首先进入命令行,查看端口是否被占用。

运行cmd输入命令:netstat -ano。

找到占用端口的进程PID,然后通过任务管理器或taskkill程序结束该PID 的进程。

请注意,上述步骤需要管理员权限才能执行。

同时,更改服务器端口可能会影响到其他依赖于该端口的应用程序,因此在执行此操作前请确保已经充分了解其潜在影响。

此外,如果这个错误仍然存在,可能需要检查你的防火墙设置或者网络配置,确保没有阻止你的应用程序访问网络。

在某些情况下,重新安装或更新你的网络驱动程序也可能解决这个问题。

socket错误代码

socket错误代码

socket错误代码Socket error 0 - Directly send errorSocket error 10004 - Interrupted function call⼀个封锁操作被对 WSACancelBlockingCall 的调⽤中断。

Socket error 10013 - Permission denied以⼀种访问权限不允许的⽅式做了⼀个访问套接字的尝试。

Socket error 10014 - Bad address系统检测到在⼀个调⽤中尝试使⽤指针参数时的⽆效指针地址。

Socket error 10022 - Invalid argument提供了⼀个⽆效的参数。

Socket error 10024 - Too many open files打开的套接字太多。

Socket error 10035 - Resource temporarily unavailable⽆法⽴即完成⼀个⾮阻⽌性套接字操作。

Socket error 10036 - Operation now in progress ⽬前正在执⾏⼀个阻⽌性操作。

Socket error 10037 - Operation already in progress 在⼀个⾮阻⽌性套接字上尝试了⼀个已经在进⾏的操作。

Socket error 10038 - Socket operation on non-socket 在⼀个⾮套接字上尝试了⼀个操作。

Socket error 10039 - Destination address required 请求的地址在⼀个套接字中从操作中忽略。

Socket error 10040 - Message too long ⼀个在数据报套接字上发送的消息⼤于内部消息缓冲区或其他⼀些⽹络限制,或该⽤户⽤于接收数据报的缓冲区⽐数据报⼩。

Socket error 10041 - Protocol wrong type for socket 在套接字函数调⽤中指定的⼀个协议不⽀持请求的套接字类型的语法。

SOCKET错误代码表

SOCKET错误代码表

WSAEWOULDBLOCK (10035) 函式作用阻攔中
WSAETIMEDOUT (10060) Connection timed out
WSAHOST_NOT_FOUND (11001) Host not found
WSASYSNOTREADY (10091) Network sub-system is unavailable
WSANOTINITIALISED (10093) WSAStartup() not performed
Socket error 10050 - Network is down
Socket error 10051 - Network is unreachable
Socket error 10052 - Network dropped connection on reset
Socket error 10053 - Software caused connection abort
Socket error 10037 - Operation already in progress
Socket error 10038 - Socket operation on non-socket
Socket error 10039 - Destination address required
getstockname()
沒有呼叫bind()函式指定socket名稱
listen()
已經處於連接狀態或是socket沒有呼叫bind()函式指定socket名稱
recv()和recvfrom()
對於datagram socket,socket沒有呼叫bind()函式指定IP位址、port和協定等;對於stream socket,連接尚未建立

Socket的错误码和描述

Socket的错误码和描述

Socket的错误码和描述Socket的错误码和描述(中英文翻译)//下面是Socket Error的错误码和描述:Socket error 0 - Directly send errorSocket error 10004 - Interrupted function //call 操作被终止Socket error 10013 - Permission denied //c访问被拒绝Socket error 10014 - Bad address //c地址错误Socket error 10022 - Invalid argument //参数错误Socket error 10024 - Too many open files // 打开太多的socketsSocket error 10035 - Resource temporarily unavailable // 没有可以获取的资料Socket error 10036 - Operation now in progress // 一个阻塞操作正在进行中Socket error 10037 - Operation already in progress // 操作正在进行中Socket error 10038 - Socket operation on non-socket //非法的socket对象在操作Socket error 10039 - Destination address required //目标地址错误Socket error 10040 - Message too long //数据太长Socket error 10041 - Protocol wrong type for socket //协议类型错误Socket error 10042 - Bad protocol option // 错误的协议选项Socket error 10043 - Protocol not supported //协议不被支持Socket error 10044 - Socket type not supported //socket类型不支持Socket error 10045 - Operation not supported //不支持该操作Socket error 10046 - Protocol family not supported //协议族不支持Socket error 10047 - Address family not supported by protocol family//使用的地址族不在支持之列Socket error 10048 - Address already in use //地址已经被使用Socket error 10049 - Cannot assign requested address //地址设置失败Socket error 10050 - Network is down //网络关闭Socket error 10051 - Network is unreachable //网络不可达Socket error 10052 - Network dropped connection on reset //网络被重置Socket error 10053 - Software caused connection abort //软件导致连接退出Socket error 10054 - connection reset by peer //连接被重置Socket error 10055 - No buffer space available //缓冲区不足Socket error 10056 - Socket is already connected // socket已经连接Socket error 10057 - Socket is not connected //socket没有连接Socket error 10058 - Cannot send after socket shutdown //socket已经关闭Socket error 10060 - Connection timed out //超时Socket error 10061 - Connection refused //连接被拒绝Socket error 10064 - Host is down //主机已关闭Socket error 10065 - No route to host // 没有可达的路由Socket error 10067 - Too many processes //进程太多Socket error 10091 - Network subsystem is unavailable //网络子系统不可用Socket error 10092 - WINSOCK.DLL version out of range//winsock.dll版本超出范围Socket error 10093 - Successful WSAStartup not yet performed //没有成功执行WSAStartupSocket error 10094 - Graceful shutdown in progress //Socket error 11001 - Host not found //主机没有找到Socket error 11002 - Non-authoritative host not found // 非授权的主机没有找到Socket error 11003 - This is a non-recoverable error //这是个无法恢复的错误Socket error 11004 - Valid name, no data record of requested type //请求的类型的名字或数据错误WSAEADDRINUSE (10048) Address already in useWSAECONNABORTED (10053) Software caused connection abortWSAECONNREFUSED (10061) Connection refusedWSAECONNRESET (10054) Connection reset by peerWSAEDESTADDRREQ (10039) Destination address required WSAEHOSTUNREACH (10065) No route to hostWSAEMFILE (10024) Too many open filesWSAENETDOWN (10050) Network is downWSAENETRESET (10052) Network dropped connectionWSAENOBUFS (10055) No buffer space availableWSAENETUNREACH (10051) Network is unreachableWSAETIMEDOUT (10060) Connection timed outWSAHOST_NOT_FOUND (11001) Host not foundWSASYSNOTREADY (10091) Network sub-system is unavailableWSANOTINITIALISED (10093) WSAStartup() not performed WSANO_DATA (11004) Valid name, no data of that typeWSANO_RECOVERY (11003) Non-recoverable query error WSATRY_AGAIN (11002) Non-authoritative host foundWSAVERNOTSUPPORTED (10092) Wrong WinSock DLL version。

android studio unrecognized windows sockets error

android studio unrecognized windows sockets error

android studio unrecognized windows sockets error(实用版)目录1.Android Studio 出现“unrecognized windows sockets error”错误2.解决该问题的方法3.总结正文最近,许多使用 Android Studio 的开发者在工作中遇到了一个名为“unrecognized windows sockets error”的错误。

这个错误让人感到困惑,因为它没有提供足够的信息来解决这个问题。

但是,有几个方法可以解决这个问题。

首先,需要清理 Android Studio 的缓存。

打开 Android Studio,然后转到“File”>“Invalidate Caches / Restart”。

这将清除 Android Studio 的缓存,并尝试重新启动 Android Studio。

如果上述步骤没有解决问题,那么可以尝试重启计算机。

关闭计算机后,等待几分钟然后再重新启动。

这将清除计算机的内存,并尝试重新启动 Android Studio。

如果问题仍然存在,那么可以尝试更新 Android Studio。

转到“Help”>“Check for Updates”,并安装任何可用的更新。

最后,如果上述步骤都没有解决问题,那么可以尝试在 Android Studio 中使用不同的 SDK。

转到“Tools”>“SDK Manager”,然后选择要使用的 SDK,并尝试重新启动 Android Studio。

在尝试了上述步骤后,应该能够解决“unrecognized windows sockets error”问题。

如果问题仍然存在,那么建议在 Android Studio 的官方论坛上查找解决方案,或者尝试使用其他开发工具。

总结起来,当遇到“unrecognized windows sockets error”错误时,不要感到绝望。

Windows 套接字错误代码,值,含义

Windows 套接字错误代码,值,含义

WSAEINTR (10004)∙转换:中断函数调用。

∙说明:阻止的操作已被对WSACancelBlockingCall (Wsapiref_704y.asp) 的调用中断。

WSAEACCES (10013)∙转换:被拒绝的权限。

∙说明:一个试图访问已禁止其访问权限的套接字。

是例如此错误时发生了广播的地址用于Sendto 但广播权限不通过setsockopt(SO_BROADCAST) 设置的。

WSAEACCES 错误的另一个可能原因是,绑定(Wsapiref_6vzm.asp) 函数调用时(在Microsoft Windows NT 4.0 Service Pack 4 [SP 4] 或更高版本),另一个程序、服务或内核模式驱动程序绑定到以独占访问相同的地址。

独占访问是一项新功能的Windows NT 4.0 SP 4 及更高版本中,并它实现使用SO_EXCLUSIVEADDRUSE选项。

WSAEFAULT (10014)∙转换:错误的地址。

∙说明:尝试使用调用的一个指针参数时</a0>-系统检测到无效指针地址。

如果程序传递了无效的指针值,或者如果缓冲区的长度太小会发生此错误。

是例如如果SOCKADDR 结构的参数的长度小于sizeof(SOCKADDR) 值,则会出现此问题。

WSAEINVAL (10022)∙转换:无效的参数。

∙说明:一个无效参数(而是例如的参数指定了无效的级别)提供给setsockopt (Wsapiref_94aa.asp) 函数。

有时,它还引用此套接字的当前状态,调用套接字未侦听上接受(Wsapiref_13aq.asp) 的是例如。

WSAEMFILE (10024)∙转换:打开的文件太多。

∙说明:有太多打开的套接字。

每个实现可能会有可用的套接字处理一个最大数量。

这些句柄可能全局,每进程,或每线程。

WSAEWOULDBLOCK (10035)∙转换:资源暂时不可用。

socket常见错误代码解析

socket常见错误代码解析

socket常见错误代码解析Socket error 0 - Directly send errorSocket error 10004 - Interrupted function callSocket error 10013 - Permission deniedSocket error 10014 - Bad addressSocket error 10022 - Invalid argumentSocket error 10024 - Too many open filesSocket error 10035 - Resource temporarily unavailableSocket error 10036 - Operation now in progressSocket error 10037 - Operation already in progressSocket error 10038 - Socket operation on non-socketSocket error 10039 - Destination address requiredSocket error 10040 - Message too longSocket error 10041 - Protocol wrong type for socketSocket error 10042 - Bad protocol optionSocket error 10043 - Protocol not supportedSocket error 10044 - Socket type not supportedSocket error 10045 - Operation not supportedSocket error 10046 - Protocol family not supportedSocket error 10047 - Address family not supported by protocol family Socket error 10048 - Address already in useSocket error 10049 - Cannot assign requested addressSocket error 10050 - Network is downSocket error 10051 - Network is unreachableSocket error 10052 - Network dropped connection on resetSocket error 10053 - Software caused connection abortSocket error 10054 - Connection reset by peerSocket error 10055 - No buffer space availableSocket error 10056 - Socket is already connectedSocket error 10057 - Socket is not connectedSocket error 10058 - Cannot send after socket shutdownSocket error 10060 - Connection timed outSocket error 10061 - Connection refusedSocket error 10064 - Host is downSocket error 10065 - No route to hostSocket error 10067 - Too many processesSocket error 10091 - Network subsystem is unavailableSocket error 10092 - WINSOCK.DLL version out of rangeSocket error 10093 - Successful WSAStartup not yet performed Socket error 10094 - Graceful shutdown in progressSocket error 11001 - Host not foundSocket error 11002 - Non-authoritative host not foundSocket error 11003 - This is a non-recoverable errorSocket error 11004 - Valid name, no data record of requested typeWSAEADDRINUSE (10048) Address already in useWSAECONNABORTED (10053) Software caused connection abort WSAECONNREFUSED (10061) Connection refusedWSAECONNRESET (10054) Connection reset by peerWSAEDESTADDRREQ (10039) Destination address requiredWSAEHOSTUNREACH (10065) No route to hostWSAEMFILE (10024) Too many open filesWSAENETDOWN (10050) Network is downWSAENETRESET (10052) Network dropped connectionWSAENOBUFS (10055) No buffer space availableWSAENETUNREACH (10051) Network is unreachableWSAETIMEDOUT (10060) Connection timed outWSAHOST_NOT_FOUND (11001) Host not foundWSASYSNOTREADY (10091) Network sub-system is unavailable WSANOTINITIALISED (10093) WSAStartup() not performedWSANO_DATA (11004) V alid name, no data of that typeWSANO_RECOVERY (11003) Non-recoverable query errorWSA TRY_AGAIN (11002) Non-authoritative host foundWSA VERNOTSUPPORTED (10092) Wrong WinSock DLL version++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++常見SOCKET錯誤返回碼WSAEINTR (10004)被中斷的系統呼叫當以阻攔式進行的WinSock函式被WSACancelBlockingCall()中斷的時候,這個阻攔式函式會得到WSAEINTR這個錯誤訊息。

unrecognized windows sockets error 0

unrecognized windows sockets error 0

unrecognized windows sockets error 0【实用版】目录1.引言:介绍 Unrecognized Windows Sockets Error 02.错误原因:分析导致该错误的可能原因3.解决方案:列出解决 Unrecognized Windows Sockets Error 0 的方法4.总结:回顾错误原因及解决方法正文一、引言Unrecognized Windows Sockets Error 0 是一个常见的 Windows 套接字错误,通常在尝试建立连接时发生。

本文将探讨该错误的原因及解决方法。

二、错误原因Unrecognized Windows Sockets Error 0 通常由以下原因导致:1.套接字未正确初始化:在尝试建立连接之前,套接字必须正确初始化。

如果初始化失败,可能会导致此错误。

2.无效的套接字地址:尝试连接到一个无效的套接字地址也可能导致此错误。

这可能是因为输入了错误的 IP 地址或端口号。

3.网络连接问题:如果计算机与远程计算机之间的网络连接有问题,可能会导致此错误。

4.安全问题:如果建立连接时遇到安全问题,例如防火墙阻止连接,可能会导致此错误。

三、解决方案要解决 Unrecognized Windows Sockets Error 0,可以尝试以下方法:1.确保套接字正确初始化:检查套接字初始化代码,确保所有参数正确设置。

2.检查套接字地址:确保输入正确的 IP 地址和端口号。

3.检查网络连接:确保计算机与远程计算机之间的网络连接正常。

4.解决安全问题:如果连接被防火墙阻止,请检查防火墙设置并允许必要的连接。

四、总结Unrecognized Windows Sockets Error 0 是一个常见的 Windows 套接字错误,可能由多种原因导致。

第1页共1页。

Socket错误码大全

Socket错误码大全

Socket错误码大全errno.00 is: Error 0errno.01 is: Not ownererrno.02 is: No such file or directoryerrno.03 is: No such processerrno.04 is: Interrupted system callerrno.05 is: I/O errorerrno.06 is: No such device or addresserrno.07 is: Arg list too longerrno.08 is: Exec format errorerrno.09 is: Bad file numbererrno.10 is: No child processeserrno.11 is: Resource temporarily unavailableerrno.12 is: Not enough spaceerrno.13 is: Permission deniederrno.14 is: Bad addresserrno.15 is: Block device requirederrno.16 is: Device busyerrno.17 is: File existserrno.18 is: Cross-device linkerrno.19 is: No such deviceerrno.20 is: Not a directoryerrno.21 is: Is a directoryerrno.22 is: Invalid argumenterrno.23 is: File table overflowerrno.24 is: Too many open fileserrno.25 is: Not a typewritererrno.26 is: Text file busyerrno.27 is: File too largeerrno.28 is: No space left on deviceerrno.29 is: Illegal seekerrno.30 is: Read-only file systemerrno.31 is: Too many linkserrno.32 is: Broken pipeerrno.33 is: Argument out of domainerrno.34 is: Result too largeerrno.35 is: No message of desired typeerrno.36 is: Identifier removederrno.37 is: Channel number out of rangeerrno.38 is: Level 2 not synchronizederrno.39 is: Level 3 haltederrno.40 is: Level 3 reseterrno.41 is: Link number out of rangeerrno.42 is: Protocol driver not attachederrno.43 is: No CSI structure availableerrno.44 is: Level 2 haltederrno.45 is: Deadlock condition if locked errno.46 is: Device not readyerrno.47 is: Write-protected mediaerrno.48 is: Unformatted or incompatible media errno.49 is: No locks availableerrno.50 is: Cannot Establish Connection errno.51 is: Connection Downerrno.52 is: Missing file or filesystemerrno.53 is: Requests blocked by Administrator errno.54 is: Operation would blockerrno.55 is: Operation now in progresserrno.56 is: Operation already in progress errno.57 is: Socket operation on non-socket errno.58 is: Destination address required errno.59 is: Message too longerrno.60 is: Protocol wrong type for socket errno.61 is: Protocol not availableerrno.62 is: Protocol not supportederrno.63 is: Socket type not supportederrno.64 is: Operation not supported on socket errno.65 is: Protocol family not supported errno.66 is: Addr family not supported by protocol errno.67 is: Address already in useerrno.68 is: Can't assign requested address errno.69 is: Network is downerrno.70 is: Network is unreachableerrno.71 is: Network dropped connection on reset errno.72 is: Software caused connection abort errno.73 is: Connection reset by peererrno.74 is: No buffer space availableerrno.75 is: Socket is already connectederrno.76 is: Socket is not connectederrno.77 is: Can't send after socket shutdown errno.78 is: Connection timed outerrno.79 is: Connection refusederrno.80 is: Host is downerrno.81 is: No route to hosterrno.82 is: Restart the system callerrno.83 is: Too many processeserrno.84 is: Too many userserrno.85 is: Too many levels of symbolic links errno.86 is: File name too longerrno.87 is: Directory not emptyerrno.88 is: Disk quota exceedederrno.89 is: Invalid file system control data detected errno.90 is: For future useerrno.91 is: For future useerrno.92 is: For future useerrno.93 is: Item is not local to hosterrno.94 is: For future useerrno.95 is: For future useerrno.96 is: For future useerrno.97 is: For future useerrno.98 is: For future useerrno.99 is: For future useerrno.100 is: For future useerrno.101 is: For future useerrno.102 is: For future useerrno.103 is: For future useerrno.104 is: For future useerrno.105 is: For future useerrno.106 is: For future useerrno.107 is: For future useerrno.108 is: For future useerrno.109 is: Function not implementederrno.110 is: Media surface errorerrno.111 is: I/O completed, but needs relocation errno.112 is: No attribute founderrno.113 is: Security Authentication Denied errno.114 is: Not a Trusted Programerrno.115 is: Too many references: can't splice errno.116 is: Invalid wide charactererrno.117 is: Asynchronous I/O cancellederrno.118 is: Out of STREAMS resourceserrno.119 is: System call timed outerrno.120 is: Next message has wrong typeerrno.121 is: Error in protocolerrno.122 is: No message on stream head read q errno.123 is: fd not associated with a stream errno.124 is: Unsupported attribute valueerrno.125 is: Multihop is not allowederrno.126 is: The server link has been severed errno.127 is: Value too large to be stored in data type打印fangshiintnPrintErrno()/*打印socket错误*/ {inti = 0;for(i = 0; i< 256; i++)printf("errno.%02d is: %s\n", i, strerror(i));return 0;}。

无法初始化Windows Sockets接口解决方案

无法初始化Windows Sockets接口解决方案

无法初始化Windows Sockets接口解决方案(并简单讨论windows中SFC以及NETSH命令的使用方法)有个同事的电脑不能上网。

用ping命令检测:ping 后,系统提示:无法初始化Windows Sockets接口到网上找了一个解决方案:1、打开一个cmd窗口2、执行命令:SFC/SCANNOW3、执行命令:NETSH WINSOCK RESET按部就班走了一遍之后,问题解决。

然后,进一步查了一下相关的两个命令,sfc命令和netsh命令。

SFC(System file checker)据百度百科讲,系统文件检查器(System file checker)是一个集成在windows系统中的一款工具软件。

这个工具在WIN3.X时代开始集成于操作系统中,并正式出现在Windows 98下。

该软件可以扫描所有受保护的系统文件并验证系统文件完整性,并用正确的Microsoft程序版本替换不正确的版本。

具体的用法可以执行sfc /?进行查询:C:\WINDOWS\system32>sfc /?Microsoft (R) Windows (R) Resource Checker 6.0 版版权所有(C) Microsoft Corporation。

保留所有权利。

扫描所有保护的系统文件的完整性,并使用正确的Microsoft 版本替换不正确的版本。

SFC [/SCANNOW] [/VERIFYONLY] [/SCANFILE=<file>] [/VERIFYFILE=<file>][/OFFWINDIR=<offline windows directory> /OFFBOOTDIR=<offline boot directory>]/SCANNOW 扫描所有保护的系统文件的完整性,并尽可能修复有问题的文件。

/VERIFYONLY 扫描所有保护的系统文件的完整性。

常见socket错误返回码

常见socket错误返回码

常见socket错误返回码常见SOCKET错误返回码(转)WSAEINTR (10004) 被中断的系统呼叫当以阻拦式进行的WinSock函式被WSACancelBlockingCall()中断的时候,这个阻拦式函式会得到WSAEINTR这个错误讯息。

读者要注意的是,当你的程式有用WSACancelBlockingCall去中断阻拦式函式的时候,你必须为这个阻拦式函式写处理WSAEINTR错误讯息的程式码,否则你的程式可能会出现些无预期的错误。

原则上,所有能以阻拦式进行的函式都可能会发生这个错误。

WSAEBADF (10009) 错误的档案代码柏克莱socket介面中,档案描述子和socket描述子是相通的,开启socket可以想像成开启一个档案。

WSAEBADF在柏克莱socket介面的意义是指错误的socket描述子,这个错误的socket 描述子可能是未经开启的socket或是以关闭的socket。

在WinSock中有个相通的错误代码WSAENOTSOCK,用来指定错误的socket描述子。

详细说明请参考WSAENOTSOCK部分。

WSAEACCES (10013) 无此权限对于柏克莱socket介面函式,这个错误发生的原因通常是开启一个不具有开启权限的档案或socket。

例如在UNIX上,一般的使用者不能开启SOCK_RAW的socket,通常是超级使用者(super user)才有此权限。

如果一般的使用者企图开启SOCK_RAW的socket,将会得到这个错误讯息。

对于WinSock API函式介面,发生此错误的函式有二:send()和sendto()。

当利用send()或sendto()传送资料的时候,将目的位址设成广播位址( broadcast address ),但是并未呼叫setsockopt()设定SO_BROADCAST选项时便会发生WSAEACCES错误。

WSAEFAULT (10014) 错误的记忆体位址系统侦测出使用错误的记忆体位址。

unrecognized windows sockets error 0

unrecognized windows sockets error 0

unrecognized windows sockets error 0摘要:1.问题描述2.问题原因3.解决方法4.预防措施正文:unrecognized windows sockets error 0 是一个网络编程错误,通常在Windows 操作系统中出现。

当应用程序尝试使用Windows Sockets API 来创建或操作套接字时,可能会发生此错误。

该错误代码表示Windows Sockets 无法识别所提供的参数或操作。

该错误的原因可能包括:- 套接字被关闭或创建失败- 提供了无效的参数- 网络连接中断- 操作系统故障要解决这个问题,您可以尝试以下方法:1.检查套接字是否已关闭或创建失败。

如果是,请重新创建套接字并确保使用正确的参数。

2.检查提供的参数是否有效。

请参阅Windows Sockets API 文档以确保使用正确的参数。

3.检查网络连接是否正常。

如果网络连接有问题,请尝试重新连接或联系网络管理员。

4.如果问题仍然存在,请尝试重新启动操作系统以排除系统故障。

要预防unrecognized windows sockets error 0,请确保:- 使用最新的操作系统和Windows Sockets 驱动程序- 在编写网络应用程序时,请仔细阅读Windows Sockets API 文档并确保使用正确的参数- 定期检查网络连接并确保网络连接正常- 定期备份重要数据以防止数据丢失总之,unrecognized windows sockets error 0 是一个常见的网络编程错误,可能由多种原因引起。

unrecognized windows sockets error

unrecognized windows sockets error

未识别的Windows套接字错误在Windows操作系统中,网络通信是通过套接字(Socket)来实现的。

套接字是一个抽象概念,用于描述应用程序和网络之间的一个端点。

在进行网络通信时,套接字提供了一种标准的接口,以便应用程序能够通过它来发送和接收数据。

然而,在使用Windows套接字编程时,有时会遇到一些套接字错误。

其中之一是“未识别的Windows套接字错误”(unrecognized windows sockets error)。

错误信息及原因当出现“未识别的Windows套接字错误”时,通常会伴随着一个具体的错误代码(error code)。

这个错误代码是一个整数值,用于指示出现错误的具体原因。

不同的错误代码代表了不同的问题,所以我们需要根据错误代码来判断产生错误的原因。

以下是一些常见的错误代码及其可能的原因:•WSANOTINITIALISED(10093):套接字库未初始化。

这可能是因为在尝试使用套接字之前没有正确地初始化套接字库,或者在套接字库已经被关闭后仍然尝试使用套接字。

•WSAENETDOWN(10050):网络下线。

这可能是因为计算机网络连接出现问题,例如网络连接中断或无法访问互联网。

•WSAECONNABORTED(10053):连接中止。

这通常是由于远程主机意外关闭了连接引起的,或者是由于防火墙或网络设备的设置导致连接被中断。

•WSAECONNRESET(10054):连接重置。

这可能是由于远程主机或网络设备强制关闭了连接引起的。

•WSAEAFNOSUPPORT(10047):不支持的地址族。

这可能是由于使用了无效的地址族引起的,例如在IPv4环境下使用IPv6地址。

解决方法针对不同的错误代码,我们可以采取不同的解决方法。

以下是一些常见的解决方法:1.检查套接字库的初始化:如果出现WSANOTINITIALISED错误,我们需要确保在使用套接字之前正确地初始化了套接字库。

WindowsSockets错误码及出错原因

WindowsSockets错误码及出错原因

Windows SocketsA.2 Windows Sockets错误码扩展描述下面给出WSAGetLastError()函数返回的可能错误码按字母顺序排列的列表,同时给出简要的扩展描述。

WSAEACCES (10013) Permission denied.试图使用被禁止的访问权限去访问套接字。

例如,在没有使用函数setsockopt()的SO_BROADCAST命令设置广播权限的套接字上使用函数sendto()给一个广播地址发送数据。

WSAEADDRINUSE (10048) Address already in use.正常情况下每一个套接字地址(协议/IP地址/端口号)只允许使用一次。

当应用程序试图使用bind()函数将一个被已存在的或没有完全关闭的或正在关闭的套接字使用了的IP地址/端口号绑扎到一个新套接字上时,该错误发生。

对于服务器应用程序来说,如果需要使用bind()函数将多个套接字绑扎到同一个端口上,可以考虑使用setsockopt()函数的SO_REUSEADDR命令。

客户应用程序一般不必使用bind()函数——connect()函数总是自动选择没有使用的端口号。

当bind()函数操作的是通配地址(包括ADDR_ANY)时,错误WSAEADDRINUSE可能延迟到一个明确的地址被提交时才发生。

这可能在后续的函数如connect()、listen()、WSAConnect()或WSAJoinLeaf()调用时发生。

WSAEADDRNOTAVAIL (10049) Cannot assign requested address.被请求的地址在它的环境中是不合法的。

通常地在bind()函数试图将一个本地机器不合法的地址绑扎到套接字时产生。

它也可能在connect()、sendto()、WSAConnect()、WSAJoinLeaf()或WSASendTo()函数调用时因远程机器的远程地址或端口号非法(如0地址或0端口号)而产生。

Socket的错误码和描述

Socket的错误码和描述
WSANO_DATA (11004) Valid name, no data of that type
WSANO_RECOVERY (11003) Non-recoverable query error
WSATRY_AGAIN (11002) Non-authoritative host found
Socket error 10035 - Resource temporarily unavailable // 没有可以获取的资料
Socket error 10036 - Operation now in progress // 一个阻塞操作正在进行中
Socket error 10037 - Operation already in progress // 操作正在进行中
Socket error 10047 - Address family not supported by protocol family//使用的地址族不在支持之列
Socket error 10048 - Address already in use //地址已经被使用
Socket error 10049 - Cannot assign requested address //地址设置失败
WSAHOST_NOT_FOUND (11001) Host not found
WSASYSNOTREADY (10091) Network sub-system is unavailable
WSANOTINITIALISED (10093) WSAStartup() not performed
Socket error 10041 - Protocol wrong type for socket //协议类型错误

附录A 错误代码

附录A 错误代码

附录A 错误代码以下列出了WSAGetLastError()函数有可能返回的错误代码和对应的解释。

错误代码的数值对于所有的Windows Sockets兼容实现都是一致的。

Windows Sockets Berkeley 错误数值解释代码对应代码WSAEINTR EINTR 10004 与标准C一致WSAEBADF EBADF 10009 与标准C一致WSAEACCES EACCES 10013 与标准C一致WSAEFAULT EFAULT 10014 与标准C一致WSAEINVAL EINVAL 10022 与标准C一致WSAEMFILE EMFILE 10024 与标准C一致WSAEWOULD EWOULD 10035 与BSD一致BLOCK BLOCKWSAEINPRO EINPRO 10036 当应用程序调用GRESS GRESS Windows SocketsAPI函数时,如果一个阻塞函数正在运行,将返回该错误。

WSAEALREADY EALREADY 10037 与BSD一致WSAENOTSOCK ENOTSOCK 10038 与BSD一致WSAEDESTADDR EDESTADDR 10039 与BSD一致REQ REQWSAEMSGSIZE EMSGSIZE 10040 与BSD一致WSAEPROTOTYPE EPROTOTYPE 10041 与BSD一致WSAENOPROTO ENOPROTOOPT 10042 与BSD一致OPTWSAEPROTONO EPROTONO 10043 与BSD一致SUPPORT SUPPORTWSAESOCKTNO ESOCKTNO 10044 与BSD一致SUPPORT SUPPORTWSAEOPNOT EOPNOT 10045 与BSD一致SUPPORT SUPPORTWSAEPFNO EPFNO 10046 与BSD一致SUPPORT SUPPORTWSAEAFNO EAFNO 10047 与BSD一致SUPPORT SUPPORTWSAEADDRINUSE EADDRINUSE 10048 与BSD一致WSAEADDRNOT EADDRNOT 10049 与BSD一致AVAIL AVAILWSAENETDOWN ENETDOWN 10050 与BSD一致,在WindowsSockets检测到任何底层的失败时,都有可能返回该错误。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
WSAEMSGSIZE
EMSGSIZE
10040
同BSD
WSAEPROTOTYPE
EPROTOTYPE
10041
同BSD
WSAENOPROTOOPT
ENOPROTOOPT
10042
同BSD
WSAEPROTONOSUPPORT
EPROTONOSUPPORT
10043
同BSD
WSAESOCKTNOSUPPORT
NO_RECOVERY
11003
同BSD
WSANO_DATA
NO_DATA
11004
同BSD
A.2Windows Sockets错误码扩展描述
下面给出WSAGetLastError()函数返回的可能错误码按字母顺序排列的列表,同时给出简要的扩展描述。
WSAEACCES (10013) Permission denied.
WSAEDESTADDRREQ (10039) Destination address required.
在套接字上一个操作所必须的地址被遗漏。例如,如果sendto()函数被调用且远程地址为ADDR_ANY时,此错误被返回。
WSAEFAULT (10014) Bad address.
系统检测到调用试图使用的一个指针参数指向的是一个非法指针地址。如果应用程序传递一个非法的指针值,或缓冲区长度太小,此错误发生。例如,参数为结构sockaddr,但参数的长度小于sizeof(struct sockaddr)。
试图和一个不可达主机进行套接字操作。参见WSAENETUNREACH。
WSAEINPROGRESS (10036) Operation now in progress.
一个阻塞操作正在执行。Windows Sockets只允许一个任务(或线程)在同一时间可以有一个未完成的阻塞操作,如果此时调用了任何函数(不管此函数是否引用了该套接字或任何其它套接字),此函数将以错误码WSAEINPROGRESS返回。
WSAEAFNOSUPPORT (10047) Address family not supported by protocol family.
使用的地址与被请求的协议不兼容。所有的套接字在创建时都与一个地址族(如IP协议对应的AF_INET)和一个通用的协议类型(如SOCK_STREAM)联系起来。如果在socket()调用中明确地要求一个不正确的协议,或在调用sendto()等函数时使用了对套接字来说是错误的地址族的地址,该错误返回。
WSAECONNABORTED (10053) Software caused connection abort.
一个已建立的连接被你的主机上的软件终止,可能是因为一次数据传输超时或是协议错误。
WSAECONNREFUSED (10061) Connection refused.
因为目标主机主动拒绝,连接不能建立。这通常是因为试图连接到一个远程主机上不活动的服务,如没有服务器应用程序处于执行状态。
EBADF
10009
同标准C
WSAEACCES
EACCES
10013
同标准C
WSAEFAULT
EFAULT
10014
同标准C
WSAEINVAL
EINVAL
10022
同标准C
WSAEMFILE
EMFILE
10024
同标准C
WSAEWOULDBLOCK
EWOULDBLOCK
10035
同BSD
WSAEINPROGRESS
由WSAStartup()返回,指示网络子系统无法使用。
WSAVERNOTSUPPORTED
10092
由WSAStartup()返回,指示Windows Sockets
DLL不能支持此应用程序。
WSANOTINITIALISED
10093
由除WSAStartup()之外的其它函数返回,指示尚没有一次成功的WSAStartup()调用执行过。
10048
同BSD
WSAEADDRNOTAVAIL
EADDRNOTAVAIL
10049
同BSD
WSAENETDOWN
ENETDOWN
10050
同BSD。任何时候只要Windows Sockets实现检测到网络子系统失败,它就报告此错误。
WSAENETUNREACH
ENETUNREACH10051同源自SD10061同BSD
WSAELOOP
ELOOP
10062
同BSD
WSAENAMETOOLONG
ENAMETOOLONG
10063
同BSD
WSAEHOSTDOWN
EHOSTDOWN
10064
同BSD
WSAEHOSTUNREACH
EHOSTUNREACH
10065
同BSD
WSASYSNOTREADY
10091
EINPROGRESS
10036
当一个阻塞函数正在进行时,调用任何Windows Sockets API函数均返回此错误
WSAEALREADY
EALREADY
10037
同BSD
WSAENOTSOCK
ENOTSOCK
10038
同BSD
WSAEDESTADDRREQ
EDESTADDRREQ
10039
同BSD
WSAENOTCONN
ENOTCONN
10057
同BSD
WSAESHUTDOWN
ESHUTDOWN
10058
同BSD
WSAETOOMANYREFS
ETOOMANYREFS
10059
同BSD
WSAETIMEDOUT
ETIMEDOUT
10060
同BSD
WSAECONNREFUSED
ECONNREFUSED
WSAEDISCON
10101
由WSARecv()和WSARecvFrom()返回,指示远程方已经初始化了一个“雅致”的shutdown序列。
WSAHOST_NOT_FOUND
HOST_NOT_FOUND
11001
同BSD
WSATRY_AGAIN
TRY_AGAIN
11002
同BSD
WSANO_RECOVERY
A.1 Windows Sockets错误码列表
表A.1列出了WSAGetLastError()函数返回的可能错误码和它们的解释,它们可分为四个部分。
错误码的第一部分是用来解决在不同的C编译中对标准C错误码的不一致的定义。错误码的第二部分是标准Berkeley Sockets错误码的Windows Sockets版本。错误码的第三部分包括特定Windows Sockets扩充的错误码。错误码的第四部分由Windows Sockets的getXbyY()和WSAAsyncGetXByY()函数返回,相当于Berkeley软件中由变量h_errno返回的错误(事实上,Windows Sockets在头文件winsock.h中已将h_error定义成其值为WSAGetLastError()的一个宏),它们相当于由域名服务(Domain Name Service)返回的各种失败。如果Windows Sockets实现没有使用域名服务,它将使用最合适的代码。一般地,Windows Sockets应用程序应该将错误WSAHOST_NOT_FOUND和WSANO_DATA解释为指示关键字(名字,地址等)没有找着,而错误WSATRY_AGAIN和WSANO_RECOVERY是提醒名字服务自身是非操作的。
错误码由Windows Sockets规范定义,在所有同一版本规范的Windows Sockets兼容实现中,它们是一致的。
表A.1 Windows Sockets错误码
Windows Sockets错误码
Berkeley对应错误码
错误号
解释
WSAEINTR
EINTR
10004
同标准C
WSAEBADF
ESOCKTNOSUPPORT
10044
同BSD
WSAEOPNOTSUPP
EOPNOTSUPP
10045
同BSD
WSAEPFNOSUPPORT
EPFNOSUPPORT
10046
同BSD
WSAEAFNOSUPPORT
EAFNOSUPPORT
10047
同BSD
WSAEADDRINUSE
EADDRINUSE
WSAEALREADY (10037) Operation already in progress.
当在非阻塞套接字上已经有一个操作正在进行时,又有一个操作试图在其上执行则产生此错误。如:在一个正在进行连接的非阻塞套接字上第二次调用connect()函数;或取消一个已经被取消或已完成的异步请求(WSAAsyncGetXbyY())。
试图使用被禁止的访问权限去访问套接字。例如,在没有使用函数setsockopt()的SO_BROADCAST命令设置广播权限的套接字上使用函数sendto()给一个广播地址发送数据。
WSAEADDRINUSE (10048) Address already in use.
正常情况下每一个套接字地址(协议/IP地址/端口号)只允许使用一次。当应用程序试图使用bind()函数将一个被已存在的或没有完全关闭的或正在关闭的套接字使用了的IP地址/端口号绑扎到一个新套接字上时,该错误发生。对于服务器应用程序来说,如果需要使用bind()函数将多个套接字绑扎到同一个端口上,可以考虑使用setsockopt()函数的SO_REUSEADDR命令。客户应用程序一般不必使用bind()函数——connect()函数总是自动选择没有使用的端口号。当bind()函数操作的是通配地址(包括ADDR_ANY)时,错误WSAEADDRINUSE可能延迟到一个明确的地址被提交时才发生。这可能在后续的函数如connect()、listen()、WSAConnect()或WSAJoinLeaf()调用时发生。
相关文档
最新文档