DCC Resume Protocol


User1 is sending the file.

User2 is receiving the file.


To initiate a DCC Send, User1 sends:


PRIVMSG User2 :DCC SEND filename ipaddress port filesize


Normally, if User2 accepts the DCC Send request, User2 connects to the address and port number given by User1 and the file transfer begins.


If User2 chooses to resume a file transfer of an existing file, the following negotiation takes place:


User2 sends:


PRIVMSG User1 :DCC RESUME filename port position


filename = the filename sent by User1.

port = the port number sent by User1.

position = the current size of the file that User2 has.


User1 then responds:


PRIVMSG User2 :DCC ACCEPT filename port position


This is simply replying with the same information that User2 sent as acknowledgement.


At this point User2 connects to User1 address and port and the transfer begins from the specified position.


Note: Newer versions of mIRC ignore the filename since the port uniquely identifies the connection. However to remain compatible with older versions of mIRC the filename is sent as file.ext in both RESUME and ACCEPT.