Some issues that occur to me:

 - The obvious problem is that there is no error checking.

 - `memset` is often preferred to `bzero`, although I don't see why.  Also the
   cast of `serverAddr` to `char*` in the `bzero` call is unnecessary.

 - port number should be shared in a header file

 - is `inet_addr` the correct way to get the address?  Also note that it, too,
   can fail. And there is usually an `memcpy` involved in creating the address
   structure.

 - does calling `shutdown` have any purpose?
 
 - putting a 1k buffer on the stack would be a bad idea in some small systems

 - the issue of `read` not returning all of what was written (or being
   interrupted) was already mentioned.  Also `read` returns `ssize_t` not
   `int` or `size_t`.

Trivia

 - Usage message might use argv[0] instead of assumed executable name.  Also
   the host must be a dotted address not a name.

 - exit status might prefer EXIT_FAILURE

 - I'd put "Response from server" in the format string.