RDT2.1 - does the Sender listener to "ack" even though state=ready? Computer Networking:
  A Top Down Approach
  Featuring the Internet,
  Jim Kurose, Keith Ross
  Addison-Wesley 4nd edition , page -223.


Also here slide 60 .

RDT2.1 (Reliable data transfer) -

Sender(s):
state=ready; i=0;
On rdt_send(d,m):
    if state=ready
    then
    { p=&lt;s,d,m,i,
    EDC(s||d||m||i)&gt;;
    udt_send(p);
    state=busy; }
On udt_deliver(a)
     If a=&lt;“ack”,EDC(“ack”)&gt;
    then
    { i++;
    state=ready; }
    else udt_send(p);


When the Sender side is in state=ready , does he still listener to "ack" recived from the Reciver ? 

I need to know this , cause if so it seems that the Sender can get duplicate "ack"'s from the reciver and inc the i without sending any packet mainwhile .
From the code above, Yes. 

Regarding your second note. A sender will go to the busy state if it sends a message and there it will wait for an ACK. I can imagine that the reciver would send multiple ACK's only if there is some fault. Usually, such faults are not considered in the basic protocol description, but are considered in the actual implementation.