Store a socket pointer instead of being passed all the time
Fixed rename Read to GetBuffer