tcpsocketserver.pd 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. #N canvas 332 53 333 552 10;
  2. #X obj 13 9 inlet;
  3. #X obj 13 464 outlet;
  4. #X obj 71 463 outlet;
  5. #X obj 129 463 outlet;
  6. #X obj 187 462 outlet;
  7. #X obj 30 207 list trim;
  8. #X obj 47 165 list trim;
  9. #X obj 47 144 list prepend socket;
  10. #X obj 30 186 list prepend num_of_clients;
  11. #X obj 64 123 list trim;
  12. #X obj 64 102 list prepend ip;
  13. #N canvas 816 227 247 348 \$0.TCPSOCKETCONTAINER 0;
  14. #X restore 14 372 pd \$0.TCPSOCKETCONTAINER;
  15. #N canvas 491 218 502 504 socketmanager 0;
  16. #X msg 24 196 \$1 reset;
  17. #X obj 25 259 route done;
  18. #X obj 5 175 t a a b;
  19. #X msg 25 280 0;
  20. #X msg 44 280 1;
  21. #X obj 5 303 spigot;
  22. #X obj 44 344 f;
  23. #X obj 76 344 + 20;
  24. #X obj 5 323 t a b b;
  25. #X obj 24 365 list append \$1;
  26. #X obj 24 388 list append;
  27. #X obj 5 412 list append;
  28. #X obj 5 476 s pd-\$0.TCPSOCKETCONTAINER;
  29. #X obj 5 432 list append \$0;
  30. #X obj 5 24 route socket num_of_clients;
  31. #X obj 84 46 t a a;
  32. #X obj 69 73 -;
  33. #X obj 69 94 == 1;
  34. #X obj 5 122 spigot;
  35. #X obj 5 3 r \$0.TCPSOCKET;
  36. #X obj 24 217 s \$0.TCPSOCKET;
  37. #X obj 25 238 r \$0.TCPSOCKET;
  38. #X msg 5 454 obj 10 \$3 tcpsocket.\$2 \$4 \$1 \, loadbang;
  39. #X obj 5 148 t a b;
  40. #X msg 65 132 0;
  41. #X text 116 78 when a new client connects (num_of_clients: +1);
  42. #X text 119 197 send a 'reset' to the according socket handler;
  43. #X text 114 266 and if it doesn't respond (which means \, there is
  44. no socket handler on specified socket) \,;
  45. #X text 119 368 create one (into pd-\$0.TCPSOCKETCONTAINER).;
  46. #X connect 0 0 20 0;
  47. #X connect 1 0 3 0;
  48. #X connect 2 0 5 0;
  49. #X connect 2 1 0 0;
  50. #X connect 2 2 4 0;
  51. #X connect 3 0 5 1;
  52. #X connect 4 0 5 1;
  53. #X connect 5 0 8 0;
  54. #X connect 6 0 7 0;
  55. #X connect 6 0 10 1;
  56. #X connect 7 0 6 1;
  57. #X connect 8 0 11 0;
  58. #X connect 8 1 9 0;
  59. #X connect 8 2 6 0;
  60. #X connect 9 0 10 0;
  61. #X connect 10 0 11 1;
  62. #X connect 11 0 13 0;
  63. #X connect 13 0 22 0;
  64. #X connect 14 0 18 0;
  65. #X connect 14 1 15 0;
  66. #X connect 15 0 16 1;
  67. #X connect 15 1 16 0;
  68. #X connect 16 0 17 0;
  69. #X connect 17 0 18 1;
  70. #X connect 18 0 23 0;
  71. #X connect 19 0 14 0;
  72. #X connect 21 0 1 0;
  73. #X connect 22 0 12 0;
  74. #X connect 23 0 2 0;
  75. #X connect 23 1 24 0;
  76. #X connect 24 0 18 1;
  77. #X restore 14 349 pd socketmanager;
  78. #X obj 13 30 tcpserver \$2;
  79. #X obj 13 417 r \$0.TCPSOCKET;
  80. #X obj 13 228 list prepend in;
  81. #X obj 13 250 list trim;
  82. #X obj 82 316 s \$0.TCPSOCKET;
  83. #X text 23 501 Author: Roman Haefeli;
  84. #X text 94 292 [tcpsocketserver <protocol> <port>];
  85. #X obj 82 78 list trim;
  86. #X obj 82 57 list prepend status;
  87. #X obj 13 440 route out num_of_clients socket.out ip.out status;
  88. #X text 24 518 Version: 2012-04-13;
  89. #X obj 245 461 outlet;
  90. #X connect 0 0 13 0;
  91. #X connect 5 0 17 0;
  92. #X connect 6 0 17 0;
  93. #X connect 7 0 6 0;
  94. #X connect 8 0 5 0;
  95. #X connect 9 0 17 0;
  96. #X connect 10 0 9 0;
  97. #X connect 13 0 15 0;
  98. #X connect 13 1 8 0;
  99. #X connect 13 2 7 0;
  100. #X connect 13 3 10 0;
  101. #X connect 13 4 21 0;
  102. #X connect 14 0 22 0;
  103. #X connect 15 0 16 0;
  104. #X connect 16 0 17 0;
  105. #X connect 20 0 17 0;
  106. #X connect 21 0 20 0;
  107. #X connect 22 0 1 0;
  108. #X connect 22 1 2 0;
  109. #X connect 22 2 3 0;
  110. #X connect 22 3 4 0;
  111. #X connect 22 4 24 0;