add SockProvider class to isolate socket
Move MyFileGetContent to use SockProvider,
and add getError function in SockProvider.
fix cs
Merge branch 'refactor'