Marcin Kasperski a écrit : >> I found no easy way to do this. FICS is an human readable protocol, >> not easily parsed. If I asked for the moves from the beginning I >> don't know when I will read them on the socket, I am not sure some >> other info will not slip in between, and I don't know when moves >> list will be complete. >> > > FICS provides solution for that (and in general to matching responses with > requests). iset block. In general it works so: > > a) after logging in (it is possible even before, but let's leave it) > you issue the command > > iset block 1 > > b) since then, you must issue command differently, for example instead of > > games > > you issue > > 1 games > > giving some small number (it is up to you to ensure that if you issue > a few commands simultaneously, those numbers are different) > > c) every reply to your command is wrapped by FICS in a special block, > so you may easily recognize where it starts, where it ends and to > which command it is related. Those replies look so: > > ^U1^V43^Vnormal multiline command reply goes here^W > > In the text above: > - ^U is char(21), > - ^V is char(22), > - ^W is char(23), > - 1 (the number after ^U) is the number matching the number you gave while > issuing the command) > - 43 is the code of the command (see link below, 43 means "games") > > So, while working in block mode, you just label all issued commands > and (before parsing anything else) watch for ^U characters. If they happen, > you eat everything up to ^W, make simple split and have full control. > > More info: http://www.freechess.org/Help/HelpFiles/iv_block.html > > (and yes, it works, I use it heavily in WatchBot) > > > Btw, ICC has very similar mechanism although differently named (level1 > or sth like that, I am not playing on ICC so I never used it) > > Thank you for the tip Marcin, I will look at it.
Pascal ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Scid-users mailing list Scid-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/scid-users