Look to me the whole program is wrong for a client server model.
I think the server and client are not getting connected. Not sure how can you say that
You create a server thread
listen on a socket
accept on a socket
after accept is over you start the client.
accept is already over, what will server accept what server no longer is waiting for accept.
check the return value of accept.
one more mistake, you are ending if with a semicolon so no use of if condition
if(sb = send(client,buff,strlen(buff),0)> 0);
and also have client and server thread parallel not in recursion.
The program to me looks in total mess.
Please look at a simple client server socket program to understand the flow. and then write you code.
You can use the below link for reference
http://www.sockaddr.com/ExampleSourceCode.html
Stream.zip :Very simple stream client and server console applications.