当前位置:文档之家› socket错误码

socket错误码

socket错误码
socket错误码

errno.00 is: Error 0

errno.01 is: Not owner

errno.02 is: No such file or directory errno.03 is: No such process

errno.04 is: Interrupted system call

errno.05 is: I/O error

errno.06 is: No such device or address errno.07 is: Arg list too long

errno.08 is: Exec format error

errno.09 is: Bad file number

errno.10 is: No child processes

errno.11 is: Resource temporarily unavailable errno.12 is: Not enough space

errno.13 is: Permission denied

errno.14 is: Bad address

errno.15 is: Block device required

errno.16 is: Device busy

errno.17 is: File exists

errno.18 is: Cross-device link

errno.19 is: No such device

errno.20 is: Not a directory

errno.21 is: Is a directory

errno.22 is: Invalid argument

errno.23 is: File table overflow

errno.24 is: Too many open files

errno.25 is: Not a typewriter

errno.26 is: Text file busy

errno.27 is: File too large

errno.28 is: No space left on device errno.29 is: Illegal seek

errno.30 is: Read-only file system

errno.31 is: Too many links

errno.32 is: Broken pipe

errno.33 is: Argument out of domain errno.34 is: Result too large

errno.35 is: No message of desired type errno.36 is: Identifier removed

errno.37 is: Channel number out of range errno.38 is: Level 2 not synchronized errno.39 is: Level 3 halted

errno.40 is: Level 3 reset

errno.41 is: Link number out of range errno.42 is: Protocol driver not attached errno.43 is: No CSI structure available

errno.44 is: Level 2 halted

errno.45 is: Deadlock condition if locked errno.46 is: Device not ready

errno.47 is: Write-protected media

errno.48 is: Unformatted or incompatible media errno.49 is: No locks available

errno.50 is: Cannot Establish Connection errno.51 is: Connection Down

errno.52 is: Missing file or filesystem

errno.53 is: Requests blocked by Administrator errno.54 is: Operation would block

errno.55 is: Operation now in progress

errno.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 long

errno.60 is: Protocol wrong type for socket errno.61 is: Protocol not available

errno.62 is: Protocol not supported

errno.63 is: Socket type not supported

errno.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 use

errno.68 is: Can't assign requested address errno.69 is: Network is down

errno.70 is: Network is unreachable

errno.71 is: Network dropped connection on reset errno.72 is: Software caused connection abort errno.73 is: Connection reset by peer

errno.74 is: No buffer space available

errno.75 is: Socket is already connected

errno.76 is: Socket is not connected

errno.77 is: Can't send after socket shutdown errno.78 is: Connection timed out

errno.79 is: Connection refused

errno.80 is: Host is down

errno.81 is: No route to host

errno.82 is: Restart the system call

errno.83 is: Too many processes

errno.84 is: Too many users

errno.85 is: Too many levels of symbolic links errno.86 is: File name too long

errno.87 is: Directory not empty

errno.88 is: Disk quota exceeded

errno.89 is: Invalid file system control data detected errno.90 is: For future use

errno.91 is: For future use

errno.92 is: For future use

errno.93 is: Item is not local to host

errno.94 is: For future use

errno.95 is: For future use

errno.96 is: For future use

errno.97 is: For future use

errno.98 is: For future use

errno.99 is: For future use

errno.100 is: For future use

errno.101 is: For future use

errno.102 is: For future use

errno.103 is: For future use

errno.104 is: For future use

errno.105 is: For future use

errno.106 is: For future use

errno.107 is: For future use

errno.108 is: For future use

errno.109 is: Function not implemented

errno.110 is: Media surface error

errno.111 is: I/O completed, but needs relocation errno.112 is: No attribute found

errno.113 is: Security Authentication Denied errno.114 is: Not a Trusted Program

errno.115 is: Too many references: can't splice errno.116 is: Invalid wide character

errno.117 is: Asynchronous I/O cancelled

errno.118 is: Out of STREAMS resources

errno.119 is: System call timed out

errno.120 is: Next message has wrong type

errno.121 is: Error in protocol

errno.122 is: No message on stream head read q errno.123 is: fd not associated with a stream errno.124 is: Unsupported attribute value

errno.125 is: Multihop is not allowed

errno.126 is: The server link has been severed errno.127 is: Value too large to be stored in data type

打印fangshi

int nPrintErrno()/*打印socket错误*/

{

int i = 0;

for(i = 0; i < 256; i++)

printf("errno.%02d is: %s\n", i, strerror(i));

return 0;

}

BeauPhone录音系统 关于TCPIP协议 出现windows socket error(10048)错误的说明

BeauPhone录音系统 关于TCPIP协议 出现windows socket error(10048)错误的说明 BeauPhoen录音系统支持同一网段的网络查询等操作,这需要录音软件的服务器端和客户端的配合,BeauPhoen录音系统采用Socket方式支持这一功能,并占用8个TCP/IP端口。 BeauPhoen录音系统的服务器端和客户端默认占用 8000—8007 这个段的8个TCP/IP 端口,开始端口是8000。 在启动BeauPhone录音系统的服务器端时,有的弹出如下界面: 导致上述问题的原因和解决方法如下: 1、系统虚拟内存太小或者C盘满了: 如果是这种,请自己查资料加大虚拟内存量,并保证C盘还有充足的空间。 2、是你电脑里面某个软件的问题: 这个错误可能是你计算机的Socket句柄资源用尽导致的,很可能是一些木马程序(比如盗取密码的程序需要将盗取的密码发送到某台机器上等等)不断的向某个连接发出连接申请,导致录音系统没有办法申请Scoket句柄资源。 如果是这种情况,需要杀毒;如果杀毒没杀到,就装个防火墙看看;如果追求干脆彻底的话,就只有重新安装Windows操作系统了。 3、防火墙拦截了出站的要求:

建议可以在防火墙的信任规则中加入录音系统程序的IP地址和相应的端口,但不推荐关闭防火墙。 4、关闭Windows系统错误提示: 在《管理工具》-《服务》中,停止ssdp discovery servic服务和Error repoting 服务。这种处理方法并不解决实际问题,不推荐使用。 5、端口或IP冲突: 可能是其他系统或程序占用了BeauPhone录音系统的默认端口,如果无法避免,就要更改系统服务器端和客户端的默认端口,更改的方法是: A、在客户端: 直接在客户端的登录界面的端口号框内填入要使用的开始端口号码即可,如下图: B、在服务器端: 在录音系统安装目录(根据版本不同,缺省目录可能是C:\BeauPhone、或

Linux socket错误分析

Linux网络编程socket错误分析 socket错误码: EINTR:4 阻塞的操作被取消阻塞的调用打断。如设置了发送接收超时,就会遇到这种错误。 只能针对阻塞模式的socket。读,写阻塞的socket时,-1返回,错误号为INTR。另外,如果出现EINTR即errno为4,错误描述Interrupted system call,操作也应该继续。如果recv 的返回值为0,那表明连接已经断开,接收操作也应该结束。 ETIMEOUT:110 1、操作超时。一般设置了发送接收超时,遇到网络繁忙的情况,就会遇到这种错误。 2、服务器做了读数据做了超时限制,读时发生了超时。 3、错误被描述为“connect time out”,即“连接超时”,这种情况一般发生在服务器主机崩溃。此时客户TCP 将在一定时间内(依具体实现)持续重发数据分节,试图从服务TCP 获得一个ACK 分节。当最终放弃尝试后(此时服务器未重新启动),内核将会向客户进程返回ETIMEDOUT 错误。如果某个中间路由器判定该服务器主机已经不可达,则一般会响应“destination unreachable”-“目的地不可达”的ICMP消息,相应的客户进程返回的错误是EHOSTUNREACH 或ENETUNREACH。当服务器重新启动后,由于TCP 状态丢失,之前所有的连接信息也不存在了,此时对于客户端发来请求将回应RST。如果客户进程对检测服务器主机是否崩溃很有必要,要求即使客户进程不主动发送数据也能检测出来,那么需要使用其它技术,如配置SO_KEEPALIVE Socket 选项,或实现某些心跳函数。 EAGAIN: 1、Send返回值小于要发送的数据数目,会返回EAGAIN和EINTR。 2、recv 返回值小于请求的长度时说明缓冲区已经没有可读数据,但再读不一定会触发EAGAIN,有可能返回0表示TCP连接已被关闭。 3、当socket是非阻塞时,如返回此错误,表示写缓冲队列已满,可以做延时后再重试. 4、在Linux进行非阻塞的socket接收数据时经常出现Resource temporarily unavailable,errno 代码为11(EAGAIN),表明在非阻塞模式下调用了阻塞操作,在该操作没有完成就返回这个错误,这个错误不会破坏socket的同步,不用管它,下次循环接着recv就可以。对非阻塞socket而言,EAGAIN不是一种错误。 EPIPE: 1、Socket 关闭,但是socket号并没有置-1。继续在此socket上进行send和recv,就会返回这种错误。这个错误会引发SIGPIPE信号,系统会将产生此EPIPE错误的进程杀死。所以,一般在网络程序中,首先屏蔽此消息,以免发生不及时设置socket进程被杀死的情况。 2、write(..) on a socket that has been closed at the other end will cause a SIGPIPE. 3、错误被描述为“broken pipe”,即“管道破裂”,这种情况一般发生在客户进程不理会(或未及时处理)Socket 错误,继续向服务TCP 写入更多数据时,内核将向客户进程发送SIGPIPE 信号,该信号默认会使进程终止(此时该前台进程未进行core dump)。结合上边的ECONNRESET 错误可知,向一个FIN_WAIT2 状态的服务TCP(已ACK 响应FIN 分节)写入数据不成问题,但是写一个已接收了RST 的Socket 则是一个错误。

SOCKET函数详解(My整理)

Socket 函数说明 1.1 库函数综述 1.1.1 套接字函数 表 1.1 Windows Sockets 1.1 版本Berkeley Sockets函数 函数名说明 accept()确认外来连接,并将它与一个立即建立的数据套接字联系起来。原始套 接字返回到监听状态 bind() 给未命名套接字赋一个本地名 closesocket()从进程对象参考表中删去一个套接字,只有当SO_LINGER设置时才阻塞connect()在指定套接字上初始化连接 getpeername() 获取与指定套接字连接的对等方的名字 getsockname() 获取指定套接字的当前名字 getsockopt() 获取与指定套接字相关的选项 htonl() 将一个32位数从主机字节顺序转换为网络字节顺序 htons() 将一个16 位数从主机字节顺序转换为网络字节顺序 inet_addr() 将一个用网际标准点分表示法表示的字符串地址转换成网际地址值 inet_ntoa() 将一个网际地址值转换成一个用点分十进制表示法表示的字符串地址ioctlsocket() 为套接字提供控制 listen() 在指定套接字上监听外来连接 ntohl() 将一个32位数从网络字节顺序转换为主机字节顺序 ntohs() 将一个16 位数从网络字节顺序转换为主机字节顺序 recv()从一个连接的套接字上接收数据 recvfrom()从一个连接或未连接的套接字上接收数据 select()执行多路同步I/O send()给一个连接套接字发送数据 sendto()给一个连接或未连接套接字发送数据 setsockopt() 设置与指定套接字相关的选项 shutdown() 关闭全双工连接的一部分 socket() 建立一个通讯用的末端点,返回一个套接字 注:标红函数作用在阻塞套接字上可以阻塞。 这些函数根据功能的不同可以分为如下几类: (1) 套接字函数。此类函数包括socket(),bind(),getpeername(),getsockname()和closesocket(),它们主要完成创建,关闭套接字功能,以及对套接字命名与名字获取。 (2) 网络连接函数。此类函数包括listen() ,accept(),connect()和shutdown(),它们完成网络连接(如虚电路)的建立与关闭。此类函数中有部分可阻塞。 (3) 数据传输函数。此类函数包括send(),recv() ,sendto()和recvfrom() ,它们完成网络数据的发送与接收,全部是可以阻塞的函数。 (4) 字节定序函数。此类函数包括htonl(),htons(),ntohl()和ntohs(),它们完成主机/网络之间数据字节顺序的转换。 (5) 地址转换函数。此类函数包括inet_addr(),inet_ntoa(),它们完成网络字符串地址和Internet 地址之间的转换。 (6) 套接字控制函数。此类函数包括getsockopt(),setsockopt(),ioctlsocket()和select(),它们设置/获取套接字的选项,控制/检测套接字的工作状态。其中select()函数在必要时可能阻塞。 只使用了上述函数Berkeley Sockets 源程序基本上可以不加修改地移植到Windows Sockets 环境中来。但是,移植过来的程序有一个最大的问题是“阻塞”。在Berkeley Sockets 中,套接字默认的工作模式是操作处于阻塞方式,一个阻塞操作可能阻塞整个Windows 环境。在非抢先Windows环境,强烈推荐程序员使用非阻塞(异步)操作,也就是说,推荐使用Windows Sockets 提供的异步选择函数代替可能阻塞的select()函数,并且用网络事件消息来驱动可能阻塞的网络连接函数(accept()和connect())和数据传输函数,这样设计的程序能更好地工作。 1.1.2 数据库函数 Windows Sockets定义了如表1.2 所示的“数据库”函数:

socket返回值为0的问题排查

socket返回值为0的问题排查 背景知识: 链路的建立,要依赖于sctp底层链路的建立。需要配置的sctp参数包括: 本地ip、本地端口号、远端ip、远端端口号、心跳间隔、最大路径重传次数、INIT最大重传 次数、输入输出流个数等。 而建立socket是sctp建立连接的先决条件,我们使用的时socket函数创建的套接字: int socket_id = int socket(int af, int type, int protocol); 问题现象 将配置发送给sctp链路管理模块,触发sctp的建立。但是日志显示,利用socket建立的 socket_id为0。 通过在网上查阅了一些文章,发现socket建立的时候,socket_id是0,1,2的基本属于标准输 入输出套接字标识。通常用户自己创建的socket不会出现这个问题。 问题原因 socket_id为0,1,2的虽然是给标准输入输出用的,但是如果我们close(0)之后,该socket_id = 0的便处于“空闲”状态。用户利用socket函数创建套接字时,便会讲0分配给新创建的socket。 经过查找close函数使用的地方,最终定位到了一处: 1、该模块上下文初始化时,全被初始化为了0,该上下文结构体如下: typedef struct _wireshark_global_contxt_t { .... s32 udp_sock_id; ...} wireshark_global_context_t; 2、该模块初始化时,会建立初始socket连接 该模块建立socket连接时,只允许建立一个连接,因此为了防止存在多个连接的情况,在调 用socket函数创建socket之前,加入了如下判断 if (wiresahrk_gl_ctx.udp_sock_id >= 0) { close(wireshark_gl_ctx.udp_sock_id); wireshark_gl_ctx.udp_sock_id = INVALID_SOCKET; # INVALID_SOCKET = - 1} 于是就出现了close(0)的情况。 问题解决 1、上下文初始化时,将udp_sock_id初始化为非法值(-1) 2、close() socket连接的时候,判断条件为>0的情况下close

socket error

Permission denied. An attempt was made to access a socket in a way forbidden by its access permissions. An example is using a broadcast address for sendto without broadcast permission being set using setsockopt(SO_BROADCAST). Another possible reason for the WSAEACCES error is that when the bind function is called (on Windows NT 4 SP4 or later), another application, service, or kernel mode driver is bound to the same address with exclusive access. Such exclusive access is a new feature of Windows NT 4 SP4 and later, and is implemented by using the SO_EXCLUSIVEADDRUSE option. WSAEADDRINUSE (10048) Address already in use. Typically, only one usage of each socket address (protocol/IP address/port) is permitted. This error occurs if an application attempts to bind a socket to an IP address/port that has already been used for an existing socket, or a socket that wasn't closed properly, or one that is still in the process of closing. For server applications that need to bind multiple sockets to the same port number, consider using setsockopt(SO_REUSEADDR). Client applications usually need not call bind at all—connect chooses an unused port automatically. When bind is called with a wildcard address (involving ADDR_ANY), a WSAEADDRINUSE error could be delayed until the specific address is committed. This could happen with a call to another function later, including connect, listen, WSAConnect, or WSAJoinLeaf. WSAEADDRNOTAVAIL (10049) Cannot assign requested address. The requested address is not valid in its context. This normally results from an attempt to bind to an address that is not valid for the local machine. This can also result from connect, sendto, WSAConnect, WSAJoinLeaf, or WSASendTo when the remote address or port is not valid for a remote machine (for example, address or port 0). WSAEAFNOSUPPORT (10047) Address family not supported by protocol family. An address incompatible with the requested protocol was used. All sockets are created with an associated address family (that is, AF_INET for Internet Protocols) and a generic protocol 无效(that is, SOCK_STREAM). This error is returned if an incorrect protocol is explicitly requested in the socket call, or if an address of the wrong family is used for a socket, for example, in sendto. WSAEALREADY (10037) Operation already in progress. An operation was attempted on a nonblocking socket with an operation already in progress—that is, calling connect a second time on a nonblocking socket that is

Socket编程协议错误代码解析

10004—WSAEINTR 函数调用中断。该错误表明由于对WSACancelBlockingCall的调用,造成了一次调用被强行中断。 10009—WSAEBADF 文件句柄错误。该错误表明提供的文件句柄无效。在MicrosoftWindowsCE下,socket函数可能返回这个错误,表明共享串口处于“忙”状态。 10013—WSAEACCES 权限被拒。尝试对套接字进行操作,但被禁止。若试图在sendto或WSASendTo中使用一个广播地址,但是尚未用setsockopt和SO_BROADCAST这两个选项设置广播权限,便会产生这类错误。 10014—WSAEFAULT 地址无效。传给Winsock函数的指针地址无效。若指定的缓冲区太小,也会产生这个错误。10022—WSAEINV AL 参数无效。指定了一个无效参数。例如,假如为WSAIoctl调用指定了一个无效控制代码,便会产生这个错误。另外,它也可能表明套接字当前的状态有错,例如在一个目前没有监听的套接字上调用accept或WSAAccept。 10024—WSAEMFILE 打开文件过多。提示打开的套接字太多了。通常,Microsoft提供者只受到系统内可用资源数量的限制。 10035—WSAEWOULDBLOCK 资源暂时不可用。对非锁定套接字来说,如果请求操作不能立即执行的话,通常会返回这个错误。比如说,在一个非暂停套接字上调用connect,就会返回这个错误。因为连接请求不能立即执行。 10036—WSAEINPROGRESS 操作正在进行中。当前正在执行非锁定操作。一般来说不会出现这个错误,除非正在开发16位Winsock应用程序。 10037—WSAEALREADY 操作已完成。一般来说,在非锁定套接字上尝试已处于进程中的操作时,会产生这个错误。比如,在一个已处于连接进程的非锁定套接字上,再一次调用connect或WSAConnect。另外,服务提供者处于执行回调函数(针对支持回调例程的Winsock函数)的进程中时,也会出现这个错误。 10038—WSAENOTSOCK 无效套接字上的套接字操作。任何一个把SOCKET句柄当作参数的Winsock函数都会返回这个错误。它表明提供的套接字句柄无效。 10039—WSAEDESTADDRREQ 需要目标地址。这个错误表明没有提供具体地址。比方说,假如在调用sendto时,将目标地址设为INADDR_ANY(任意地址),便会返回这个错误。 10040—WSAEMSGSIZE 消息过长。这个错误的含义很多。如果在一个数据报套接字上发送一条消息,这条消息对内部缓冲区而言太大的话,就会产生这个错误。再比如,由于网络本身的限制,使一条消息过长,也会产生这个错误。最后,如果收到数据报之后,缓冲区太小,不能接收消息时,也会产生这个错误。 10041—WSAEPROTOTYPE 套接字协议类型有误。在socket或WSASocket调用中指定的协议不支持指定的套接字类型。

socket错误详解

WSAEINTR (10004) ?翻译:中断函数调用。 ?说明:阻止操作被中断通过调用WSACancelBlockingCall (Wsapiref_704y.asp)。 WSAEACCES (10013) ?翻译:权限被拒绝。 ?说明:尝试访问套接字访问权限被禁止的方式。例如,用于发送到广播的地址,但广播的权限未设置通过使用setsockopt(SO_BROADCAST) 时,将发生此错误。另一个可能导致WSAEACCES 错误的原因是,当调用绑定(Wsapiref_6vzm.asp)函数(在Microsoft Windows NT 4.0 Service Pack 4 [SP4] 或更高版本),另一个程序、服务或内核模式驱动程序绑定到同一地址具有独占访问权。这种独占的访问是一项新功能的Windows NT 4.0 SP4 和更高版本,并且它使用SO_EXCLUSIVEADDRUSE 选项的实现。 WSAEFAULT (10014) ?翻译:错误的地址。 ?说明:尝试使用指针参数的调用时,系统检测到一个无效的指针地址。如果程序传递了无效的指针值,或者如果缓冲区的长度太小,则会发生此错误。例如,如果一个参数,它是一种SOCKADDR 结构的长度小于sizeof(SOCKADDR) 的值,将发生此问题。 WSAEINVAL (10022) ?翻译:无效的参数。 ?说明:setsockopt (Wsapiref_94aa.asp) 函数提供了无效的参数(例如,指定参数的%)。有时,它也就是从插座的当前状态,调用例如,未在侦听的套接字接受(Wsapiref_13aq.asp)。 WSAEMFILE (10024) ?翻译:打开的文件太多。 ?说明:有太多打开的套接字。每个实现都可能具有套接字句柄可用的最大数目。这些句柄可能会提供每个进程的全局,或每个线程。 WSAEWOULDBLOCK (10035) ?翻译:资源暂时不可用。 ?说明:将返回此错误,无法立即完成,例如,非阻塞套接字操作从接收(Wsapiref_2i9e.asp)时无数据排队要从套接字读取。它是一个非致命错误,并可以以后再重试该操作。WSAEWOULDBLOCK 通常报告的调用结果连接(Wsapiref_8m7m.asp) 对非阻止套接字SOCK_STREAM,因为要建立的连接必须经过一些时间。 WSAEINPROGRESS (10036) ?翻译:现在正在进行的操作。 ?说明:阻止操作当前正在运行。Windows 套接字只允许一个阻塞操作为每个任务或未完成的每个线程。如果(无论它所引用的或任何其他套接字)进行任何其他函数

Windows Sockets 错误码及出错原因

Windows Sockets

A.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端口号)而产生。 WSAEAFNOSUPPORT (10047) Address family not supported by protocol family.

socket错误码

errno.00 is: Error 0 errno.01 is: Not owner errno.02 is: No such file or directory errno.03 is: No such process errno.04 is: Interrupted system call errno.05 is: I/O error errno.06 is: No such device or address errno.07 is: Arg list too long errno.08 is: Exec format error errno.09 is: Bad file number errno.10 is: No child processes errno.11 is: Resource temporarily unavailable errno.12 is: Not enough space errno.13 is: Permission denied errno.14 is: Bad address errno.15 is: Block device required errno.16 is: Device busy errno.17 is: File exists errno.18 is: Cross-device link errno.19 is: No such device errno.20 is: Not a directory errno.21 is: Is a directory errno.22 is: Invalid argument errno.23 is: File table overflow errno.24 is: Too many open files errno.25 is: Not a typewriter errno.26 is: Text file busy errno.27 is: File too large errno.28 is: No space left on device errno.29 is: Illegal seek errno.30 is: Read-only file system errno.31 is: Too many links errno.32 is: Broken pipe errno.33 is: Argument out of domain errno.34 is: Result too large errno.35 is: No message of desired type errno.36 is: Identifier removed errno.37 is: Channel number out of range errno.38 is: Level 2 not synchronized errno.39 is: Level 3 halted errno.40 is: Level 3 reset errno.41 is: Link number out of range errno.42 is: Protocol driver not attached errno.43 is: No CSI structure available

网络错误码一览表

其实这个文件找到与没找到都是上不去网的,因为提示找不到那个netcfg.hlp文件不是不真正是你上不去网的原因,机器只是需要调用那个文件的内容,其内容也只不过就是想告诉你是何种原因使你无法连接网络,真正上不去网的原因很可能是注册表的问题。netcfg.hlp是网络连接的帮助文件. 你连接宽带时如果出错的话,就是你无法连到网络上时,系统会按照netcfg.hlp给你提供一些错误信息.如下: 600 某操作处于挂起状态。 601 检测到一个无效端口句柄。 602 指定端口已经打开。 603 呼叫方缓冲区太小。 604 指定了错误的信息。 605 无法设置端口信息。 606 无法连接指定端口。 607 检测到无效事件。 608 指定了一个不存在的设备。 609 设备类型不存在。 610 缓冲区无效。 611 路由不可用。 612 路由没有分配。 613 指定了无效的压缩。 614 缓冲区不足。 615 没有找到端口。 616 某异步请求处于挂起状态。 617 端口或设备已经断开。 618 端口没有打开。 619 不能建立到远程计算机的连接,因此用于此连接的端口已关闭。 620 没有端点。 621 无法打开电话簿文件。 622 无法加载电话簿文件。 623 无法找到电话簿项。 624 无法写入电话簿文件。 625 在电话簿中发现的无效信息。 626 无法加载字符串。 627 无法找到键。 628 在连接完成之前,连接被远程计算机终止。 629 数据链接被远程计算机终止。 630 由于硬件失败,端口断开连接。 631 用户已断开端口连接。

632 结构大小不正确。 633 端口已经在使用或没有为“远程访问”拨出配置端口。 634 无法在远程网络注册计算机。 635 未知错误。 636 错误的设备连接到端口。 637 字符串无法转换。 638 请求超时。 639 没有可用的异步网络。 640 发生NetBIOS 错误。 641 服务器无法分配支持客户端所需的NetBIOS 资源。 642 已在远程网络上注册了一个NetBIOS 名称。 643 服务器上的网络适配器出现故障。 644 将无法接收网络弹出式消息。 645 内部身份验证错误。 646 不允许此帐户在一天的这一时间段登录。 647 本帐户已禁用。 648 密码已过期。 649 帐户没有“远程访问”的权限。 650 “远程访问”服务器没有响应。 651 调制解调器(或其他设备)报告了一个错误。 652 设备响应无法识别。 653 没有在设备 .INF 文件部分发现设备所必需的宏。 654 设备 .INF 文件部分中的命令或响应引用到未定义的宏。 655 在设备 .INF 文件部分未发现 宏。 656 在设备 .INF 文件部分中的 宏含有未定义的宏。657 无法打开设备 .INF 文件。 658 设备 .INF 文件或媒体 .INI 文件中的设备名太长。 659 媒体 .INI 文件引用了未知的设备名。 660 设备 .INF 文件不包含对该命令的响应。 661 设备 .INF 文件缺少一条命令。 662 试图设置一个没有列在设备 .INF 文件部分的宏。 663 媒体 .INI 文件引用了未知的设备类型。 664 无法分配内存。 665 端口不是为“远程访问”配置的。 666 调制解调器(或其他设备)不起作用。 667 无法读取媒体 .INI 文件。 668 连接已除去。 669 媒体 .INI 文件中的用法参数无效。 670 不能从媒体 .INI 文件中读取部分名称。

socket常见错误代码解析

socket常见错误代码解析 Socket error 0 - Directly send error Socket error 10004 - Interrupted function call 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 error 10042 - Bad protocol option Socket error 10043 - Protocol not supported Socket error 10044 - Socket type not supported 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 error 10057 - Socket is not connected Socket error 10058 - Cannot send after socket shutdown 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 Socket error 10093 - Successful WSAStartup not yet performed Socket error 10094 - Graceful shutdown in progress Socket error 11001 - Host not found

常见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) 错误的记忆体位址 系统侦测出使用错误的记忆体位址。呼叫WinSock函式时,常常会有参数是以指标的方式传入,这个指标可能是指向一个结构,如sockaddr_in结构,或是指向一个资料缓冲区。当程式不小心传入一个错误记忆体未指的指标时,就会发生WSAEFAULT这个错误。此外,当指标所指向的记忆体区块太小的时候,也会发生这个错误。 WSAEINVAL (10022) 参数错误

企业邮局返回常见错误代码分析及解决方法

企业邮局返回常见错误代码分析及解决方法 ㈠错误宏观分析 ⑴. 正常模式:造成正常模式发送失败的原因主要有: 1. 填写的邮箱服务器不正确或用户名、密码不正确,这种错误,会造成1个都发不出去。或该填写用户名、密码而没有填写。 2. 达到邮箱的发送数量限制,一般邮箱SMTP服务器都有发送数量限制 ⑵. 特快专递:造成特快专递发送失败的原因主要有:

㈡错误码关键字分析(https://www.doczj.com/doc/6410670706.html, 电子邮局的分析结论) ㈢错误码分析

⑴. 错误邮件地址 550 <....@......>Invalid User. 553 No such user(#5.5.3) 550 非法地址 - invalid address (#5.5.0) 550 5.1.1 ⑵. 554 Connection refused(mx). MAIL FROM [你的邮箱地址] is not matching client IP [你的IP地址]. 这是服务器要求你的IP地址和邮件地址的域名对应,否则就不接受你发的邮件。⑶. 520 CoremailSys:Your message was blocked by NetEase AntiSpam+.(HgA++iApHEH_aakA.1.I.0) 可能性1. 你的邮件被服务器判断为“垃圾邮件”,如果你发的不是垃圾邮件,请更改邮件内容和主题解决此问题。 可能性2. 正常模式:你的SMTP服务器有发送数量限制,并且已经达到限制,暂时封了你的IP地址或你的邮箱。 ⑷. [Socket Error # 10061 Connection refused] 这是邮件服务器不存在。或服务器没有启动邮件服务的 25 端口,最大可能是邮件地址错误或网络有问题。 ⑸. [Socket Error # 11001 Host not found.] 找不到服务器,如果你确定网络没有问题的话,就是你的邮件地址是错误的。 ⑹. DNS Server Reports Query Name Error 这是说明你的发送邮件地址是不存在的,并且这个邮件地址的服务器就不存在。 ⑺. [Socket Error # 10060 Connection timeout.] Read Timeout.这都说明与服务器之间的通讯不通畅,反应慢,可以在“网络设置”中适当增加“超时设置”。

C++socket编程详解

第1章Visual C++网络编程概述 Visual C++(后面简写为VC)网络编程是指用户使用MFC类库(微软基础类库)在VC编译器中编写程序,以实现网络应用。用户通过VC编程实现的网络软件可以在网络中不同的计算机之间互传文件、图像等信息。本章将向用户介绍基于Windows操作系统的网络编程基础知识,其开发环境是VC。在VC 编译器中,使用Windows Socket进行网络程序开发是网络编程中非常重要的一部分。 1.1 网络基础知识 如果用户要进行VC网络编程,则必须首先了解计算机网络通信的基本框架和工作原理。在两台或多台计算机之间进行网络通信时,其通信的双方还必须遵循相同的通信原则和数据格式。本节将向用户介绍OSI七层网络模型、TCP/IP协议以及C/S编程模型。 1.1.1 OSI七层网络模型 OSI网络模型是一个开放式系统互联的参考模型。通过这个参考模型,用户可以非常直观地了解网络通信的基本过程和原理。OSI参考模型如图1.1所示。 图1.1 OSI七层网络模型 用户从OSI网络模型可以很直观地看到,网络数据从发送方到达接收方的过程中,数据的流向以及经过的通信层和相应的通信协议。事实上在网络通信的发送端,其通信数据每到一个通信层,都会被该层协议在数据中添加一个包头数据。而在接收方恰好相反,数据通过每一层时都会被该层协议剥去相应的

包头数据。用户也可以这样理解,即网络模型中的各层都是对等通信。在OSI 七层网络模型中,各个网络层都具有各自的功能,如表1.1所示。 表1.1 各网络层的功能 注意:在表 1.1中列出了OSI 七层网络模型中各层的基本功能概述。用户根据这些基本的功能概述会对该网络模型有一个比较全面的认识。 1.1.2 TCP/IP 协议 TCP/IP 协议实际上是一个协议簇,其包括了很多协议。例如,FTP (文本传输协议)、SMTP (邮 件传输协议)等应用层协议。TCP/IP 协议的网络模 型只有4层,包括数据链路层、网络层、数据传输层和应用层,如图1.2所示。 在TCP/IP 网络编程模型中,各层的功能如表1.2所示。 表1.2 TCP/IP 网络协议各层功能 在数据传输层中,包括了TCP 和UDP 协议。其中,TCP 协议是基于面向连接的可靠的通信协议。其具有重发机制,即当数据被破坏或者丢失时,发送方将重发该数据。而UDP 协议是基于用户数据报协议,属于不可靠连接通信的协议。例如,当用户使用UDP 协议发送一条消息时,并不知道该消息是否已经到达接收方,或者在传输过程中数据已经丢失。但是在即时通信中,UDP 协议在对一些对时间要求较高的网络数据传输方面有着重要的 作用。 1.1.3 C/S 编程模型 C/S 编程模型是基于可靠连接的通信模型。在通信的双方必须使用各自的IP 地址以及端口进行通信。否则,通信过程将无法实现。通常情况下,当用户使用C/S 模型进行通信时,其通信的任意一方称为客户端,则另一方称为服务器端。 图1.2 TCP/IP 网络协议模型

相关主题
文本预览
相关文档 最新文档