No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

tsock_v0.c 1.9KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. /* librairie standard ... */
  2. #include <stdlib.h>
  3. /* pour getopt */
  4. #include <unistd.h>
  5. /* déclaration des types de base */
  6. #include <sys/types.h>
  7. /* constantes relatives aux domaines, types et protocoles */
  8. #include <sys/socket.h>
  9. /* constantes et structures propres au domaine UNIX */
  10. #include <sys/un.h>
  11. /* constantes et structures propres au domaine INTERNET */
  12. #include <netinet/in.h>
  13. /* structures retournées par les fonctions de gestion de la base de
  14. données du réseau */
  15. #include <netdb.h>
  16. /* pour les entrées/sorties */
  17. #include <stdio.h>
  18. /* pour la gestion des erreurs */
  19. #include <errno.h>
  20. int main (int argc, char **argv)
  21. {
  22. int c;
  23. extern char *optarg;
  24. extern int optind;
  25. int nb_message = -1; /* Nb de messages à envoyer ou à recevoir, par défaut : 10 en émission, infini en réception */
  26. int source = -1 ; /* 0=puits, 1=source */
  27. while ((c = getopt(argc, argv, "pn:s")) != -1) {
  28. switch (c) {
  29. case 'p':
  30. if (source == 1) {
  31. printf("usage: cmd [-p|-s][-n ##]\n");
  32. exit(1);
  33. }
  34. source = 0;
  35. break;
  36. case 's':
  37. if (source == 0) {
  38. printf("usage: cmd [-p|-s][-n ##]\n");
  39. exit(1) ;
  40. }
  41. source = 1;
  42. break;
  43. case 'n':
  44. nb_message = atoi(optarg);
  45. break;
  46. default:
  47. printf("usage: cmd [-p|-s][-n ##]\n");
  48. break;
  49. }
  50. }
  51. if (source == -1) {
  52. printf("usage: cmd [-p|-s][-n ##]\n");
  53. exit(1) ;
  54. }
  55. if (source == 1)
  56. printf("on est dans le source\n");
  57. else
  58. printf("on est dans le puits\n");
  59. if (nb_message != -1) {
  60. if (source == 1)
  61. printf("nb de tampons à envoyer : %d\n", nb_message);
  62. else
  63. printf("nb de tampons à recevoir : %d\n", nb_message);
  64. } else {
  65. if (source == 1) {
  66. nb_message = 10 ;
  67. printf("nb de tampons à envoyer = 10 par défaut\n");
  68. } else
  69. printf("nb de tampons à envoyer = infini\n");
  70. }
  71. }