Bonjour,
il y a un truc qui craint dans ton protocole :
l'arduino reçoit des suites de chiffres au gré de l'humeur de l'OS du PC, et au bout d'un moment ne sait peut-être plus ce qu'il doit en faire
je suggère de rajouter un caractère de début dans tes messages pour clarifier les choses, exemple s000000
cela éliminera les questions liées au time out
concernant la fermeture du port, c'est généralement assez simple : de même que tu l'as ouvert en début de programme, tu le fermes à la fin ...