optimize: TCP 和 UDP 类型的DNS,只接收响应一次。
							parent
							
								
									a1767b1ae5
								
							
						
					
					
						commit
						d496c39ecd
					
				| 
						 | 
				
			
			@ -37,13 +37,13 @@ module.exports = class DNSOverTCP extends BaseDNS {
 | 
			
		|||
        tcpClient.write(Buffer.concat([lengthBuffer, packet]))
 | 
			
		||||
      })
 | 
			
		||||
 | 
			
		||||
      tcpClient.on('data', (data) => {
 | 
			
		||||
      tcpClient.once('data', (data) => {
 | 
			
		||||
        const length = data.readUInt16BE(0)
 | 
			
		||||
        const response = dnsPacket.decode(data.subarray(2, 2 + length))
 | 
			
		||||
        resolve(response)
 | 
			
		||||
      })
 | 
			
		||||
 | 
			
		||||
      tcpClient.on('error', (err) => {
 | 
			
		||||
      tcpClient.once('error', (err) => {
 | 
			
		||||
        reject(err)
 | 
			
		||||
      })
 | 
			
		||||
    })
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -35,7 +35,7 @@ module.exports = class DNSOverUDP extends BaseDNS {
 | 
			
		|||
      })
 | 
			
		||||
 | 
			
		||||
      // 接收 UDP 响应
 | 
			
		||||
      udpClient.on('message', (msg) => {
 | 
			
		||||
      udpClient.once('message', (msg) => {
 | 
			
		||||
        const response = dnsPacket.decode(msg)
 | 
			
		||||
        resolve(response)
 | 
			
		||||
      })
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -106,9 +106,9 @@ let ip
 | 
			
		|||
 | 
			
		||||
console.log('\n--------------- test PreSet ---------------\n')
 | 
			
		||||
ip = await dnsProviders.PreSet.lookup(presetHostname)
 | 
			
		||||
assert.strictEqual(ip, presetIp) // test preset
 | 
			
		||||
console.log('===> test PreSet:', ip, '\n\n')
 | 
			
		||||
console.log('\n\n')
 | 
			
		||||
assert.strictEqual(ip, presetIp) // test preset
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
console.log('\n--------------- test https ---------------\n')
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue