电脑蓝屏代码解释
1324 0x052C 无法更新密码。所输入的新密码内含不符合 密码规定。
1325 0x052D 因为违反密码更新规则,所以无法更新密码。
1326 0x052E 登入失败: 无法辨识的使用者名称或密码错误。
1327 0x052F 登入失败: 使用者帐户限制。
1328 0x0530 登入失败: 违反帐户登入时间限制。
1329 0x0531 登入失败: 使用者不可登入这部计算机。
1330 0x0532 登入失败: 指定的帐户密码过期。
1331 0x0533 登入失败: 帐户目前无效。
1332 0x0534 帐户名称与帐户识别码不符。
1333 0x0535 一次要求太多的近端使用者识别码 (local user identifiers, LUIDs)。
1334 0x0536 没有可用的近端使用者识别码(local user identifiers,LUIDs)。
1335 0x0537 安全识别码的转授权部份对这个特殊用法无效。
1336 0x0538 无效的存取控制清单结构。
1337 0x0539 安全识别码结构无效。
1338 0x053A 安全叙述子结构无效。
1340 0x053C 无法建立继承的存取控制清单或存取控件目。
1341 0x053D 服务器目前无效。
1342 0x053E 服务器目前可以使用。
1343 0x053F 所提供的值是无效的识别码授权值。
1344 0x0540 没有可供安全信息更新使用的内存。
1345 0x0541 指定的属性无效,或指定的属性与整个群组的 属性不兼容。
1346 0x0542 Either a required impersonation level was not provided, or the provided impersonation level is invalid
1347 0x0543 Cannot open an anonymous level security token
1348 0x0544 所要求的认可信息类别无效。
1349 0x0545 The type of the token is inappropriate for its attempted use
1350 0x0546 无法在没有相关连安全性的对象执行 安全作业。
1351 0x0547 指示无法连到 Windows NT 服务器,或网域中的对象 受到保护,所以无法撷取所需的对象。
1352 0x0548 安全帐户管理程序或区域安全授权服务器状态 不正确,所以无法执行安全作业。
1353 0x0549 网域状态错误,所以无法执行安全作业。
1354 0x054A 只有网域的主域控制器才能使用这项作业。
1355 0x054B 指定的网域不存在。
1356 0x054C 指定的网域已经存在。
1357 0x054D 尝试超过每个服务器的网域数目限制。
1358 0x054E 因为磁盘上发生严重的储存媒体错误或是数据结构毁损,所以无法完成所要求的作业。
1359 0x054F 安全帐户数据库内有内部不一致的状况。
1360 0x0550 通用的存取类型包含在某一存取屏蔽中,这个屏蔽已经对应到非通用的类型。
1361 0x0551 安全叙述子的格式不正确 (absolute or self-relative)。
1362 0x0552 所要求的动作只能给登入使用。而目前呼叫该动作的处理并未登录为登入。
1363 0x0553 无法利用已经在使用的识别码来激活新的作业阶段。
1364 0x0554 无法识别指定的确认包装。
1365 0x0555 登入作业阶段不是在与要求的作业一致的状态。
1366 0x0556 登入作业阶段识别码已经在使用中。
1367 0x0557 登入要求包含无效的登入类型值。
1368 0x0558 Unable to impersonate via a named pipe until data has been
read from that pipe
1369 0x0559 The transaction state of a Registry subtree is incompatible
with the requested operation
1370 0x055A 内部安全数据库毁损。
1371 0x055B 无法在内建帐户执行这项作业。
1372 0x055C 无法在这个内建的特殊群组执行这项 *** 作。
1373 0x055D 无法在这个内建的特殊使用者执行这项作业。
1374 0x055E 因为群组目前是使用者的主要群组,所以不能 从群组移除使用者。
1375 0x055F The token is already in use as a primary token
1376 0x0560 指定的区域群组不存在。
1377 0x0561 指定的帐户名称不是区域群组的成员。
1378 0x0562 指定的帐户名称已经是区域群组的成员。
1379 0x0563 指定的区域群组已经存在。
1380 0x0564 登入失败: 使用者无权在这部计算机以要求的 登入类型登入。
1381 0x0565 The maximum number of secrets that may be stored in a single system has been exceeded
1382 0x0566 The length of a secret exceeds the maximum length allowed
1383 0x0567 本区安全性授权数据库内含的资料不一致。
1384 0x0568 在登入时,使用者的安全内容累积太多的 安全识别码。
1385 0x0569 登入失败: 使用者尚未被许可在这个台脑使用要求的登入类型。
1386 0x056A 交叉加密的密码需要变更使用者的密码。
1387 0x056B 因为成员不存在,所以无法将新的成员新增到 区域群组。
1388 0x056C 因为成员的帐号类型不正确,所以无法新增到区域群组。
1389 0x056D 指定的安全 ID 太多。
1390 0x056E 需要用到交互加密的密码才能变更这个使用者的密码。
1391 0x056F 表示存取控制清单没有可继承的组件
1392 0x0570 档案或目录已毁,无法读取资料。
1393 0x0571 磁盘结构已毁无法读取。
1394 0x0572 没有指定之登入作业阶段的使用者作业阶段机码。
1395 0x0573 正在存取的服务仅授权特定数目的联机。 而目前联机数目已达上限,所以无法再建立服务联机。
1400 0x0578 窗口代码无效。
1401 0x0579 菜单识别码无效。
1402 0x057A 光标句柄无效。
1403 0x057B 加速键表格句柄无效。
1404 0x057C Invalid hook handle 1405 0x057D 无效的多重窗口位置结构控制。
1406 0x057E 无法建立最上层的子窗口。
1407 0x057F 找不到 window class。
1408 0x0580 无效的窗口,属于其它的执行绪。
1409 0x0581 快速键已经登记。
1410 0x0582 Class 已经存在。
1411 0x0583 Class 不存在。
1412 0x0584 Class 仍然有开启的窗口。
1413 0x0585 无效的索引。
1414 0x0586 图标句柄无效。
1415 0x0587 使用专用的 DIALOG 窗口文字。
1416 0x0588 清单方块识别码找不到。
1417 0x0589 找不到任何通配字符。
1418 0x058A 执行绪 (thread) 没有开启剪贴簿。
1419 0x058B 快速键没有登记。
1420 0x058C 不是有效的对话窗口。
1421 0x058D Control ID 找不到。
1422 0x058E 清单方块的讯息无效,因为没有任何的编辑句柄。
1423 0x058F 窗口不是一个清单方块。
1424 0x0590 高度必须小于 256。
1425 0x0591 装置范围 (DC) 句柄无效。
1426 0x0592 锁定程序类型无效。
1427 0x0593 锁定程序无效。
1428 0x0594 没有模块句柄就不能设定非本区的锁定。
1429 0x0595 This hook procedure can only be set globally
1430 0x0596 The journal hook procedure is already installed
1431 0x0597 The hook procedure is not installed
1432 0x0598 无效的单一选择清单方块讯息。
1433 0x0599 LB_SETCOUNT 传送到 non-lazy 清单方块。
1434 0x059A 这个清单方块不支持跳格停驻。
1435 0x059B 不可毁损由其它执行绪所建立的对象。
1436 0x059C 子窗口不能有菜单。
1437 0x059D 窗口没有系统菜单。
1438 0x059E 无效的消息框样式。
1439 0x059F 无效的 system-wide (SPI_) 参数。
1440 0x05A0 屏幕已经锁定。
1441 0x05A1 All handles to windows in a multiple-window position structure
must have the same parent
1442 0x05A2 窗口不是子窗口。
1443 0x05A3 GW_ 指令无效。
1444 0x05A4 执行绪识别码无效。
1445 0x05A5 无法处理多重文件接口窗口的讯息。
1446 0x05A6 即现式菜单已在作用中。
1447 0x05A7 窗口没有滚动条。
1448 0x05A8 滚动条范围不可以大于 0x7FFF。 1449 0x05A9 无法以指定的方式显示或移除窗口。
1450 0x05AA 系统资源不足,无法完成所要求的服务。
1451 0x05AB 系统资源不足,无法完成所要求的服务。
1452 0x05AC 系统资源不足,无法完成所要求的服务。
1453 0x05AD 配额不足,无法完成所要求的服务。
1454 0x05AE 配额不足,无法完成所要求的服务。
1455 0x05AF 这项作业的 paging 文件太小,无法完成作业。
1456 0x05B0 找不到菜单项目。
1500 0x05DC 事件记录文件坏掉。
1501 0x05DD 无法开启事件记录文件,因此事件记录服务没有激活。
1502 0x05DE 事件记录文件已满。
1503 0x05DF 事件记录文件已经变更。
1700 0x06A4 字符串连结错误。
1701 0x06A5 连结句柄 (binding handle) 的类型错误。
1702 0x06A6 连结句柄 (binding handle) 无效。
1703 0x06A7 不支持 RPC 通讯协议顺序。
1704 0x06A8 RPC 通讯协议顺序无效。
1705 0x06A9 字符串 universal unique identifier (UUID) 无效。
1706 0x06AA 端点格式错误。
1707 0x06AB 网络地址无效。
1708 0x06AC 找不到端点。
1709 0x06AD 逾时数值无效。
1710 0x06AE 找不到对象的 universal unique identifier (UUID)。
1711 0x06AF 对象的 universal unique identifier (UUID) 已经登记。
1712 0x06B0 类型的 universal unique identifier (UUID) 已经登记。
1713 0x06B1 RPC 服务器已经在听候。
1714 0x06B2 没有登记通讯协议顺序。
1715 0x06B3 RPC 服务器没有听候指令。
1716 0x06B4 管理员类型不详。
1717 0x06B5 接口不详。
1718 0x06B6 没有联机。
1719 0x06B7 没有通讯协议顺序。
1720 0x06B8 无法建立端点。
1721 0x06B9 资源不足,无法完成作业。
1722 0x06BA RPC 服务器无法使用。
1723 0x06BB RPC 服务器太忙,无法完成这项作业。
1724 0x06BC 网络选项无效。
1725 0x06BD 这个执行绪 (thread) 没有任何执行的远程过程调用。
1726 0x06BE 远程过程调用失败。
1727 0x06BF 远程过程调用失败,所以没有执行。
1728 0x06C0 远程过程调用 (remote procedure call,RPC) 通讯协议发生错误。
1730 0x06C2 RPC 服务器不支持转送语法。
1732 0x06C4 不支持 universal unique identifier (UUID) 的类型。
1733 0x06C5 封签 (tag) 无效。
1734 0x06C6 数组无效。
1735 0x06C7 连结中没有项目名称。
1736 0x06C8 名称语法无效。
1737 0x06C9 名称语法不被支持。
1739 0x06CB 没有任何网络地址可以用来建立全球唯一的识别码 (UUID)。
1740 0x06CC 端点重复。
1741 0x06CD 授权类型不详。
1742 0x06CE 呼叫次数的上限太小。
1743 0x06CF 字符串太长。
1744 0x06D0 找不到 RPC 通讯协议顺序。
1745 0x06D1 程序号码超出范围。
1746 0x06D2 连结中没有包含任何确认信息。
1747 0x06D3 确认服务不详。
1748 0x06D4 确认层次不详。
1749 0x06D5 安全内容无效。
1750 0x06D6 确认服务不详。
1751 0x06D7 项目无效。
1752 0x06D8 服务器端点无法执行这个作业。
1753 0x06D9 端点对应程序没有其它的端点。
1754 0x06DA 没有汇出任何的接口。
1755 0x06DB 项目名称不完整。
1756 0x06DC 版本选项无效。
1757 0x06DD 没有其它的成员。
1758 0x06DE 没有任何资料可以取消汇出。
1759 0x06DF 接口找不到。
1760 0x06E0 项目已经存在。
1761 0x06E1 项目找不到。
1762 0x06E2 名称服务无法使用。
1763 0x06E3 网络地址系列无效。
1764 0x06E4 要求的作业不受支持。
1765 0x06E5 没有可用来仿真的安全内容。
1766 0x06E6 远程过程调用 (RPC) 发生内部错误。
1767 0x06E7 RPC 服务器尝试用整数除以 0。
1768 0x06E8 RPC 服务器发生地址设定错误。
1769 0x06E9 RPC 服务器的浮点作业导致除以 0 的运算。
1770 0x06EA RPC 服务器发生浮点 underflow。 1771 0x06EB RPC 服务器发生浮点 overflow。
1772 0x06EC 清单中可供连结自动代码 的 RPC 服务器已经用完。
1773 0x06ED 无法开启字符转换表档案。
1774 0x06EE 包含字符转换表的档案少于 512 字节。
1775 0x06EF 在远程过程调用时,将空的 context 代码从 客户端传送到主计算机。
1777 0x06F1 在远程过程调用时内容处理改变。
1778 0x06F2 传送给远程过程调用的连结代码不符。
1779 0x06F3 The stub is unable to get the remote procedure call handle 1780 0x06F4 A null reference pointer was passed to the stub
1781 0x06F5 The enumeration value is out of range
1782 0x06F6 字节计数太小。
1783 0x06F7 The stub received bad data
1784 0x06F8 所提供的使用者缓冲区对要求的作业无效。
1785 0x06F9 无法辨识磁盘储存媒体。磁盘储存媒体可能还没有制作格式。
1786 0x06FA The workstation does not have a trust secret
1787 0x06FB The SAM database on the Windows NT Server does not have a
computer account for this workstation trust relationship 1788 0x06FC The trust relationship between the primary domain and the trusted domain failed 1789 0x06FD The trust relationship between this workstation and the primary domain failed 1790 0x06FE 网络登入失败。
1791 0x06FF 远程过程调用已经在这个执行绪进行中。
1792 0x0700 尝试登入,但网络登入服务尚未激活。
1793 0x0701 使用者的帐户已经过期。
1794 0x0702 The redirector is in use and cannot be unloaded
1795 0x0703 指定的打印机驱动程序已经安装。
1796 0x0704 指定的连接埠无法识别。
1797 0x0705 打印机驱动程序无法识别。
1798 0x0706 打印处理器不详。
1799 0x0707 指定的分隔档无效。
1800 0x0708 指定的优先级无效。
1801 0x0709 打印机名称无效。
1802 0x070A 打印机已经存在。
1803 0x070B 打印机指令无效。
1804 0x070C 指定的数据类型无效。
1805 0x070D 指定的 Environment 无效。
1806 0x070E 没有其它的连结。
1807 0x070F 这是一个跨网域的信任帐户。请用您的全域性使用者帐户或区域性使用者帐户来存取服务器。
1808 0x0710 这是一个计算机帐户。请使用您的全域性使用者帐户或区域性使用者帐户来存取这个服务器。
1809 0x0711 这是一个伺服端信任帐户。请用您的全域性使用者帐户或区域性使用者帐户来存取服务器。
1810 0x0712 指定的网域名称或安全识别码与网域信用信息 不符。
1811 0x0713 服务器正在使用中,无法卸载。
1812 0x0714 指定的影像档案没有有包含资源区段。
1813 0x0715 在影像文件找不到指定的资源类型。
1814 0x0716 在影像文件找不到指定的资源名称。
1815 0x0717 在影像文件找不到指定的资源语系识别码。
1816 0x0718 可用的配额不足,无法处理这项指令。
1817 0x0719 登录任何接口。
1818 0x071A 处理这项呼叫的时候,服务器发生变更。
1819 0x071B 连结代码没有包含所有必须的信息。
1820 0x071C 通讯失败。
1821 0x071D 要求的认证层次不被支持。
1822 0x071E 没有登记任何主要的名称。
1823 0x071F 指定的错误不是有效的 Windows RPC 错误码。
1824 0x0720 A UUID that is valid only on this computer has been allocated
1825 0x0721 发生安全包装指定错误。
1826 0x0722 没有取消执行绪 (THREAD) 1827 0x0723 针对编码/译码的代码进行无效的作业。
1828 0x0724 Incompatible version of the serializing package
1829 0x0725 不兼容的 RPC stub 版本。
1898 0x076A 找不到群组成员。
1899 0x076B 无法建立 endpoint mapper 数据库。
1900 0x076C The object universal unique identifier (UUID) is the nil UUID
1901 0x076D 指定的项目无效。
1902 0x076E 指定窗体名称错误。
1903 0x076F 指定的窗体大小错误。
1904 0x0770 指定的打印机句柄已经在等候。
1905 0x0771 指定的打印机已经删除
1906 0x0772 打印机的状态错误。
1907 0x0773 使用者在第一次登入之前,必须先变更它的密码。
1908 0x0774 找不到这个网域的域控制器。
1909 0x0775 参照的帐户目前被锁定,无法登入。
2000 0x07D0 像素格式无效。
2001 0x07D1 指定的驱动程序无效。
2002 0x07D2 窗口样式或 class 属性对这项作业无效。
2003 0x07D3 不支持所要求的中继文件作业。
2004 0x07D4 不支持要求的传输作业。
2005 0x07D5 不支持要求的剪辑作业。
2202 0x089A 指定的使用者名称无效。
2250 0x08CA 网络联机不存在。
2401 0x0961 这个网络联机已经开启档案或者要求暂停。
2402 0x0962 现行的联机仍然存在。
2404 0x0964 装置正在使用中,无法中断联机。
3000 0x0BB8 指定的打印机监视器不详。
3001 0x0BB9 指定的打印机驱动程序正在使用中。
3002 0x0BBA 找不到排存盘。
3003 0x0BBB 没有发出 StartDocPrinter 呼叫。
3004 0x0BBC 没有发出 AddJob 呼叫。
3005 0x0BBD 指定的打印处理器已经安装。
3006 0x0BBE 指定打印监控程序已经安装。
4000 0x0FA0 在处理指令时,WINS 发生错误。
4001 0x0FA1 无法删除区域的 WINS。
4002 0x0FA2 The importation from the file failed 4003 0x0FA3 制作备份失败。以前执行过完整的备份吗
4004 0x0FA4 无法制作备份,请检查目录。
4005 0x0FA5 名称不在 WINS 数据库中。
4006 0x0FA6 不可用未设定的打印机来取代。
粘包和分包是利用Socket在TCP协议下内部的优化机制。
1、什么是粘包
只有TCP有粘包现象,UDP永远不会粘包,为何,且听我娓娓道来。发送数据时间间隔很短,数据了很小,也就是发送数据比较频繁,会合到一起,产生粘包;
2、什么是分包
当我们发送的数据量很大的时候,可能是几千字节,TCP就会自动分开发送,其实说通俗点,就是你去拿快递,一看20个,一次拿不完,分几次拿!
3、总结
指发送方发送的若干包数据到接收方接收时粘成一包,从接收缓冲区看,后一包数据的头紧接着前一包数据的尾。出现粘包现象的原因是多方面的,它既可能由发送方造成,也可能由接收方造成。
发送方引起的粘包是由TCP协议本身造成的,TCP为提高传输效率,发送方往往要收集到足够多的数据后才发送一包数据。
若连续几次发送的数据都很少,通常TCP会根据优化算法把这些数据合成一包后一次发送出去,这样接收方就收到了粘包数据。接收方引起的粘包是由于接收方用户进程不及时接收数据,从而导致粘包现象。
这是因为接收方先把收到的数据放在系统接收缓冲区,用户进程从该缓冲区取数据,若下一包数据到达时前一包数据尚未被用户进程取走,则下一包数据放到系统接收缓冲区时就接到前一包数据之后,而用户进程根据预先设定的缓冲区大小从系统接收缓冲区取数据,这样就一次取到了多包数据。分包是指在出现粘包的时候我们的接收方要进行分包处理。
在前面的测试程序中,是没有粘包问题的,这时候你可能有疑惑,我为啥数据会发送的特别快,我们以游戏服务器举例,比如游戏有联机对战功能,这时候肯定是需要同步位置信息的,这个频率是很快的,大约每秒就要40~80次,这个时候就会出现粘包问题。
其实很简单只要简单修改一下客户端即可。
1、程序测试 — 粘包问题
客户端:
服务器查看调试信息:
服务器已启动
有一个客户端进行连接成功
从客户端接收到的数据:0
从客户端接收到的数据:123
从客户端接收到的数据:4567
从客户端接收到的数据:8910
从客户端接收到的数据:1112131415
从客户端接收到的数据:161718
从客户端接收到的数据:192021222324
从客户端接收到的数据:25262728
从客户端接收到的数据:2930313233
从客户端接收到的数据:34353637
从客户端接收到的数据:38394041
从客户端接收到的数据:42434445
从客户端接收到的数据:46474849
从客户端接收到的数据:50515253
从客户端接收到的数据:5455565758
从客户端接收到的数据:59606162636465666768
从客户端接收到的数据:6970717273
从客户端接收到的数据:74757677
从客户端接收到的数据:78798081
从客户端接收到的数据:82838485
从客户端接收到的数据:86878889
从客户端接收到的数据:90919293
从客户端接收到的数据:9495969798
从客户端接收到的数据:99
(很明显数据没有发送100次)
1、程序测试 — 粘包问题
客户端:
服务器查看调试信息:
服务器已启动
有一个客户端进行连接成功
从客户端接收到的数据:
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000撒大声地所多所多所多所多所多所多所多所多所多所000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000撒大声地所多所多所多所多所多所多所多所多所多所多所多所多所多所多撒大声地所 多所多所多所多所多所多所多所多所多所多所多所多所多所多撒大声地所多所多所多所多所多所多所多所多所多所多所多所多所多所多000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000----------------------------------------------------------------撒大声地所多所多所多所多所多所多所多所多所
从客户端接收到的数据:
77777777777777777777777777777777777777777777777777777777790909090909090909090909090909090909090000000000000000000000000099
(可以看出服务器是分两次接收的,但其实只要static byte[] dataBuffer = new byte[1024];给的空间足够大,分包问题就可解决)
其实也很好解决,我们在发送数据的时候事先存储数据的长度,不过用来存储数据长度的内存大小需要指定好,否则就没法判断了。
假设我们现在的数据出现了粘包,如下图所示:
这里只是演示一下,如果只有连续发送4次数据,一般是不会出现粘包的,看上图橙色部分表示我们用一个int32类型储存数据的长度,蓝色部分为我们实际要发送的数据,现在发生了粘包,也就是这四条数据合在一起发送给了服务器,
此时这条数据的总大小为 4字节 4 + 5 + 7 + 10 + 4 = 42字节
我们通过读取4字节数据可以知道数据的实际长度,以第一个数据为例,我们读取4字节数据,知道了这个数据有5个字节,程序如下:
int data_length = BitConverterToInt32(_data, 0);
此时的data_length = 5;此时我们就读取这5个字节的数据即可!
string s = EncodingUTF8GetString(_data, 4, 5);
然后我们截取数据,从源数据的第4 + 5的位置开始截取到一个新数组,新字节数组索引从零开始,此时新字节数据的长度为42 - (5 + 4);(下图为新字节数组)
ArrayCopy(_data, 5 + 4, _data, 0, 42 - (5 + 4));
依次循环下去,粘包就被成功的分包了。当然这个不要忘记每次更新一下当前数据长度。
_curLength = _curLength - (data_length + 4); // _curLength = 42 - (5 + 4)
1、客户端
创建Message类,用于发送数据前做处理,使得首4字节储存数据长度。
Message:
Main:
2、服务端
创建Message类,解决粘包问题!
Main:
服务器查看调试信息:
服务器已启动
有一个客户端进行连接成功
解析到一条数据:0米
4
8
解析到一条数据:1米
4
630
解析到一条数据:2米
4
622
解析到一条数据:3米
4
614
解析到一条数据:4米
4
606
解析到一条数据:5米
4
598
解析到一条数据:6米
4
590
解析到一条数据:7米
4
582
解析到一条数据:8米
4
574
解析到一条数据:9米
4
566
解析到一条数据:10米
5
558
解析到一条数据:98米
5
18
解析到一条数据:99米
5
9
有客户端退出
你解决个屁,异步接收的情况下,把_data数组调大点就完了,傻逼,咱们是做游戏!一般不会有分包问题!!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)