运行test。出错
wangtubs opened this issue · comments
buffer.js:772
throw new RangeError('Attempt to write outside buffer bounds');
^
RangeError: Attempt to write outside buffer bounds
at Buffer.write (buffer.js:772:11)
at fromString (buffer.js:238:26)
at Function.Buffer.from (buffer.js:131:12)
at new Buffer (buffer.js:112:17)
at Function.encode.bytes (/usr/src/p2pspider/node_modules/bencode/lib/encode.js:45:17)
at Function.encode.dict (/usr/src/p2pspider/node_modules/bencode/lib/encode.js:79:12)
at Function.encode._encode (/usr/src/p2pspider/node_modules/bencode/lib/encode.js:33:18)
at Object.encode (/usr/src/p2pspider/node_modules/bencode/lib/encode.js:9:10)
at DHTSpider.sendKRPC (/usr/src/p2pspider/lib/dhtspider.js:27:23)
at DHTSpider.sendFindNodeRequest (/usr/src/p2pspider/lib/dhtspider.js:52:10)
at .<anonymous> (/usr/src/p2pspider/lib/dhtspider.js:57:14)
at Array.forEach (native)
at DHTSpider.joinDHTNetwork (/usr/src/p2pspider/lib/dhtspider.js:56:21)
at .<anonymous> (/usr/src/p2pspider/lib/dhtspider.js:173:18)
at Timeout.wrapper [as _onTimeout] (timers.js:417:11)
at tryOnTimeout (timers.js:224:11)
请问如何解决
node 版本v6.2.0
我换成0.12.14版本基本就没这个问题了。好像跟nodejs版本有关
我反正是弃坑了, 不玩Node.js了, 太扯蛋了, 乱七八糟的.
也可能是依赖包的问题, 之前许多项目都只建议使用 npm 2. nvm 用起来.
@Fuck-You-GFW 这项目没开多久你就弃了啊...
@iugo 我是弃 Node.js 这个坑了, 写代码太特么痛苦了, 不论是变种还是什么其他模式, 都不行, 我是对 JavaScript 本身不满意. 我现在是要打算用 Java 来写 p2pspider 了.
用了你的修改后的代码后发现经常卡住不动了。怎么回事呀。也没出错信息
什么叫经常卡住不动了?
我这里用6.2.0跑过, 正常. 你得确保用的是国外公网主机跑的哈.
就是不再得到新的infohash了。我昨天换回0.12.14版了。
我用的是digitalocean的vps
现在经过反复测试,用node 0.12.14版,代码修改前,基本正常,极少出现错误。代码修改后,运行1分钟程序卡住,获取不到新的infohash。用node 6.2.0,代码修改前,运行test 1-2分钟就出现1楼所示错误。代码修改后。也会卡住,获取不到新的infohash
不管了, 在版本, 代码一模一样的情况下, 这问题无法在我这里重现, 弃坑, 不用再讨论啦.