My first question i asked myself after i read this was why isnt he talking at the age of 4? That should be your biggest concern. Have you ever looked into why he isnt listening, it could be because he cant hear you. Have you gotten his hearing checked? hearing and speech go along like two peas in a pod. Usually children have speech delays, because their hearing is not 100%. So your probably thinking hes being defiant, but it may be a bigger issue than that. Also, try some baby signs. So he can communicate his needs to you and not be stressed out about it.
Immediately have your child evaluated. they can see what's up with the speech/hearing and also test for adhd and other issues. Many school districts have early intervention help available. Your doctor should help you find out about this, but talk to your school district too!!!