I have a problem about reading for serial to array, i need when i sent "A:1;B:2;C:3;D:4" from my pc to Arduino ,I need separate from "A" to "D" and ";" to A=1,B=2,C=3,D=4 int or sometime i sent "B:2" to B=2 only or another.
Yes, it does work. It just doesn't do what you expect. Primarily because your expectations are wrong.
First, your topic implies that you are reading from the serial port. The client instance is NOT connected to the serial port.
Second, you have a most unrealistic expectation of how quickly data arrives from the server for the client to read. It arrives relatively slowly. You need to read and store all the data that arrives from the server before you even think about parsing the data.
Third, you seem to think that atoi expects a char array as input. It does not. It expects a string. A string is a char array that is NULL terminated. None of your char arrays are NULL terminated, so you don't have any strings, so you can't use any str functions.
There are plenty of examples that show how to read and store client data, keeping the array NULL terminated. You need to find, and follow, one of them.
When you have all the client data, which won't happen until both client.connected() is false and client.available() is 0, in a NULL terminated char array, then you can worry about parsing it.