ports can be null... duh