est-il un moyen de mettre en file d'attente des paquets à une socket en Python? J'ai cherché quelque chose comme la bibliothèque libipq
, mais je ne trouve rien d'équivalent.File d'attente de paquets en Python?
Voici ce que je suis en train d'accomplir:
- Créer connexion socket TCP entre le serveur et le client (à la fois sous mon contrôle).
- Essayez la transmission de données (en attente de connexion à la faute - par exemple, le client perd la connectivité en raison de la fermeture ordinateur portable)
- Catch
SocketException
et tenir aux données qui a été d'essayer d'être envoyé tout en gardant les données restantes en attente (dans une file d'attente?) - Entrez pour essayer de se reconnecter en boucle (en supposant que le succès est inévitable )
- Créer un nouveau socket sur le succès
- transmission de données de CV
Des suggestions? Est-ce que Twisted peut faire ça? Dois-je impliquer pcapy
? Dois-je le faire (sockets, files d'attente, etc) en C et utiliser Boost pour faire du code hybride?
Merci d'avance.
Edit 1:
Réponse à Nick:
Je laisse le fait que les données que je vais transmettrons sera généralisée et sans fin - penser cette application assis sous une session ssh (je ne suis pas en aucune façon en essayant de jeter un coup d'oeil dans les paquets ). Ainsi, la transmission sera bilatérale. Je veux être en mesure d'aller du bureau à ma maison (en fermant mon ordinateur portable entre les deux), ouvrez l'ordinateur portable au domicile et continuez dans ma session de façon transparente. (Je sais que SCREEN existe). Cela pourrait vous amener à vous demander comment il fonctionnerait sans proxy. Ce ne sera pas, je n'ai pas expliqué ce design. Avec le contexte ajouté Blockquote
, je dois dire aussi que je ne vais pas devoir prendre un SocketException
sur le côté serveur car cette machine sera (ou suppose être) fixe. Lorsque le client découvre qu'il a de nouveau la connectivité, il se reconnecte au serveur.
J'ai laissé de côté le fait que les données que je transmettrai seront généralisées et interminables - pensez à cette application placée sous une session ssh (je n'essaie en aucun cas de jeter un coup d'œil dans les paquets). Donc, la transmission sera bilatérale. Je veux pouvoir aller du bureau à la maison (fermer mon ordinateur portable entre les deux), ouvrir l'ordinateur portable à la maison et continuer ma session en toute transparence. (Je sais que SCREEN existe). Cela pourrait vous amener à vous demander comment cela fonctionnerait sans proxy. Ce ne sera pas, je n'ai tout simplement pas expliqué ce design. Merci à Nick! – Kevin