[FEAT] separate connect from ctor
[FEAT] socket read and write