nod.js socket.write完了後にsocket.destroyしてはいけない

Javascript

node.jsのnet.socketを利用したソケット通信プログラムで通信エラーが多発してしまいました。

socket.write()の完了時コールバックでsocket.destroy()していたのですが、これだと受信に失敗することがありました。socket.end()を呼べば、通信先にFINを送信するので、正常に通信切断できるようになりました。

 socket.write("送信データ");
 socket.end();

とするか、送信データが1つだけなら

 socket.end("送信データ");

となります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です