Node.js new net.createConnectionでタイムアウトになってconnect失敗する

やりたいこと

Windows上のローカルでNodejsアプリを動かしてTCPソケット通信をしたい

 

現象

特定の場合にnet.createConnectionがタイムアウトになって通信できない

 

調査の結果判明した条件

社内LANだとOK

外部LANだとNG

 

原因

Windowsファイアウォールにガードされていたこと

 

社内LANだと「ドメインネットワーク」扱いでファイアウォールがゆるいからOK

外部LANは「ゲストまたはパブリックネットワーク」扱いでファイアウォールが厳しいためNG

f:id:yamekodev:20210312090958p:plain

いくらググったりソースを見直してもわからなかった

まず現象発生させるための条件特定するのに苦労して、次にじゃあ2つの条件によって何が違うのか、というところで思い当たる引き出しがなさ過ぎた

ネットワークがつながらないっていうときファイアウォール疑うのは基本だと覚えておく