Est-il possible d'avoir le bloc fonction d'envoi de winsock jusqu'à ce que le paquet envoyé soit reçu à l'autre extrémité?Avoir le bloc fonction d'envoi de winsock?
Mon but final est de pouvoir envoyer des fichiers 5-20mb tout en étant capable d'envoyer de petits paquets de 1kb sur la même connexion. Donc je pensais que je l'aurais bloqué jusqu'à ce que le récepteur reçoive le paquet. De cette façon, si un autre petit paquet est mis en file d'attente, il ne sera pas bloqué en attente du transfert du reste du gros fichier.
Donc, si j'envoie un gros paquet puis un plus petit, tcp enverra-t-il le petit alors qu'il envoie encore le gros? – user230821
TCP est juste un flux, si vous faites un appel send(), cela peut prendre plusieurs appels recv() pour lire ces données de l'autre côté. Inversement, plusieurs appels send() peuvent être fusionnés et lus avec un appel recv(). Vous devez construire votre propre protocole au-dessus de TCP si vous voulez envoyer des "paquets", ou obtenir une réponse quand un paquet/message a été reçu. – nos
Etes-vous sûr? Je pensais que le but de tcp est de faire ce genre de gestion pour vous. Je n'ai jamais eu le temps d'envoyer plusieurs paquets à la fois seront fusionnés en 1 lors de leur réception. – user230821