changes in socket, a bit work in linux side first