は(最後に)サーバーをNodeJS理由(それはそう)socket.end()
netcat
接続では、ECONNRESET
サーバエラーを引き起こすのでしょうか?ノードのTCPサーバー・エラー・ECONNRESET
、クライアントとサーバー上のソケット・オブジェクトエラーを守ってください。
TERMINAL 1
netcat localhost 9000
Hello.
Goodbye.
TERMINAL 2
==> A Connection connected
==> The Server is disconnecting a connection
{ [Error: read ECONNRESET] code: 'ECONNRESET', errno: 'ECONNRESET', syscall: 'read' }
今、クライアントとサーバーにはソケットオブジェクトエラーを観察していない:
TERMINAL 1
telnet localhost 9000
Trying ::1...
Connected to localhost.
Escape character is '^]'.
Hello.
Goodbye.
Connection closed by foreign host.
TERMINAL 2
==> A Connection connected
==> The Server is disconnecting a connection
==> A Connection disconnected
私は答えを探していますエラーを修正するか、または失敗した場合、なぜこれがどうして起こらなければならないかを非常に明確に説明します。
多くのおかげで、
ジェイソン
import TCP from "net"
import Promise from "Bluebird"
const log = console.log
const server = TCP.createServer((conn) => {
conn.setEncoding('utf8')
log("==> A Connection connected")
conn.write("Hello.\n", async function() {
await Promise.delay(3000)
if (!conn.destroyed) {
log("==> The Server is disconnecting a connection")
conn.end("Goodbye.\n")
}
})
conn.on("error", log)
conn.on("end",() => {
log("==> A Connection disconnected")
})
conn.on("data", (message) => {
log("==> A Connection says:\n%s", message)
})
})
const port = 9000
server.listen(port,() => {
log(`==> The Server is listening on port ${port}`)
})
リンクありがとうございます。回答を得たい場合 - ここにあなたのコードを入れてください – baao
@baao私はコードの上にコピーしました。ありがとう。 –