DefinitelyTyped/types/net-keepalive/net-keepalive-tests.ts
James Bromwell ba59e57720 node, ws: address() method on Server and related classes can return a string (#25597)
* node: ClearTextStream hasn't existed for 3 years

* node: move AddressInfo to net module; address() can return string

* ws: Server.address() can return string (same as net.Server.address etc)

* Fix some tests that assumed Server.address returns AddressInfo
Amending commit message to re-trigger Travis build.
2018-05-08 10:23:49 -07:00

22 lines
701 B
TypeScript

import NetKeepAlive = require('net-keepalive')
import * as Net from 'net'
const server = Net.createServer((socket) => {
socket.setKeepAlive(true, 1000)
NetKeepAlive.setKeepAliveInterval(socket, 1000)
NetKeepAlive.setKeepAliveProbes(socket, 1)
socket.on('end', () => server.close())
})
server.listen(1337, '127.0.0.1', () => {
const {port, address} = server.address() as Net.AddressInfo
const clientSocket = Net.createConnection({
port, host: address
}, () => {
clientSocket.setKeepAlive(true, 1000)
NetKeepAlive.setKeepAliveInterval(clientSocket, 1000)
NetKeepAlive.setKeepAliveProbes(clientSocket, 1)
clientSocket.end()
})
})