A graphical user interface for the QEMU virtual machine emulator, showing a window with various controls and information related to the virtual machine.

Cela a été très enrichissant de replonger dans la programmation C ces derniers temps, et l'objectif principal a été mon petit projet,csend C'est une application de chat peer-to-peer sur laquelle je travaille. L'idée principale est de la faire fonctionner correctement sur différents systèmes, notamment les plateformes POSIX modernes comme Linux et, pour un peu de rétro, le Mac OS classique.

Je suis ravi d'annoncer qu'il existe désormais des versions fonctionnelles pour les deux ! La version POSIX, que j'utilise généralement sous Ubuntu, progresse bien et offre un ensemble de fonctionnalités intéressantes. La version Mac OS classique, conçue pour System 7 avec MacTCP, en est encore à ses balbutiements, mais elle est toujours d'actualité. Pour l'instant, elle lance l'interface graphique Mac classique et envoie le message de diffusion UDP initial pour s'annoncer sur le réseau. Cela signifie que la version POSIX peut le voir apparaître, ce qui est un excellent premier pas.

Pour vous montrer comment les choses évoluent, j'ai réalisé une vidéo de démonstration et l'ai publiée sur YouTube. Dans cette vidéo, je présente :

  1. Compilation et exécution du client POSIX et Classic Mac sur Ubuntu.
  2. Affichage de l'état actuel de la version System 7 exécutée sur mon Performa 6200 avec System 7.5.3
  3. Un rapide aperçu de la structure du code source, soulignant comment j'essaie de partager autant de code C « vanille » que possible entre les éléments spécifiques à la plate-forme (POSIX et Mac classique).

La version POSIX gère les fonctionnalités principales du chat, tandis que la version Mac se concentre actuellement sur l'interface utilisateur et la découverte du réseau. Gérer les différentes API et environnements est un véritable défi !

CSEND Demo 1 - POSIX and Mac OS System 7 Build

Si vous avez envie de le voir en action ou si vous êtes simplement curieux de combiner techniques de programmation C modernes et classiques, regardez la vidéo. Vous trouverez le code source sur la page GitHub pour un aperçu plus détaillé.

Acclamations!

Mots clés

Programming C RetroComputing Développement MacOS P2P Networking