Approche axée sur les données du réseautage dans C. Cela ne peut pas être nouveau?

StackOverflow https://stackoverflow.com/questions/5425403

  •  11-11-2019
  •  | 
  •  

Question

J'aimerais savoir si quelque chose comme ça a été fait auparavant:

J'ai récemment commencé à travailler sur une bibliothèque de réseautage dans C. La bibliothèque maintient un ensemble de sockets, dont chacun est associé à deux flux d'octets FIFO, l'entrée et la sortie.

Un développeur utilisant la bibliothèque devrait enregistrer certains rappels, composé d'une fonction de reconnaissance et d'une fonction de gestionnaire. Si de nouvelles données arrivent sur une prise (c'est-à-dire le flux d'entrée), chaque reconnaissance est appelée. Si l'un des reconnaissances trouve une partie correspondante des données, son gestionnaire associé est appelé, consommant les données et éventuellement en file d'attente de nouvelles données sur le flux de sortie du socket, prévue pour être transmise plus tard.

Voici un exemple pour indiquer comment la bibliothèque est utilisée:

// create client socket
client = nc_create(NC_CLIENT);

// register some callback functions that you'll have to supply yourself
nc_register_callback(client, &is_login, &on_login);
nc_register_callback(client, &is_password, &on_password);

// connect to server
nc_dial(client, "www.google.com", "23");

// start main loop (we might as well have more than one connection here)
nc_talk();

Pour moi, c'est le moyen le plus évident d'écrire une bibliothèque de réseautage à usage général dans C. J'ai fait des recherches en utilisant Google, mais je n'ai pas pu trouver quelque chose de similaire écrit dans C. Mais il est difficile de croire que je suis le Le premier qui implémente cette approche.

Y a-t-il d'autres bibliothèques de réseautage générales axées sur les données comme celle-ci?
Les utiliseriez-vous?

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top