tcpsocket.FUDI.pd 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. #N canvas 585 75 446 533 10;
  2. #X obj 50 49 == \$2;
  3. #X obj 7 28 route in socket;
  4. #X obj 7 76 spigot;
  5. #N canvas 622 183 512 335 reset 0;
  6. #X obj 23 41 route \$2;
  7. #X obj 23 63 route reset;
  8. #X obj 23 83 t b b;
  9. #X msg 55 170 done;
  10. #X obj 23 113 outlet;
  11. #X text 161 33 this is used to:;
  12. #X text 87 114 a) reset the sockethandler on a new connection;
  13. #X text 88 129 (for instance \, if the previous connection was quitted
  14. in the middle of a packet).;
  15. #X text 55 213 b) check for the socketserver \, if a sockethandler
  16. on specified socket already exists.;
  17. #X obj 55 191 s \$1.TCPSOCKET;
  18. #X obj 23 19 r \$1.TCPSOCKET;
  19. #X connect 0 0 1 0;
  20. #X connect 1 0 2 0;
  21. #X connect 2 0 4 0;
  22. #X connect 2 1 3 0;
  23. #X connect 3 0 9 0;
  24. #X connect 10 0 0 0;
  25. #X restore 46 102 pd reset;
  26. #X obj 105 279 route socket ip;
  27. #X obj 41 367 list append;
  28. #X obj 58 323 list append;
  29. #X obj 7 299 t a b b b;
  30. #X obj 7 414 list prepend out;
  31. #X obj 41 391 list prepend socket.out;
  32. #X obj 58 345 list prepend ip.out;
  33. #X obj 7 442 list trim;
  34. #X text 16 220 the lower part makes [tcpsocketserver] behave like [tcpserver]
  35. ;
  36. #X obj -2 136 cnv 15 450 70 empty empty empty 20 12 0 14 -204786 -66577
  37. 0;
  38. #N canvas 385 67 606 479 FUDI 0;
  39. #X obj 23 6 inlet;
  40. #X obj 23 400 outlet;
  41. #N canvas 389 242 191 341 serialize 0;
  42. #X obj 5 100 t a a;
  43. #X obj 37 122 list prepend 0;
  44. #X obj 37 143 s \$0.inbuffer;
  45. #X obj 5 174 list length;
  46. #X obj 5 218 until;
  47. #X obj 5 195 t a b;
  48. #X obj 5 241 f;
  49. #X obj 50 244 + 1;
  50. #X msg 49 218 0;
  51. #X obj 5 267 tabread \$0.inbuffer;
  52. #X obj 5 50 inlet;
  53. #X obj 5 289 outlet;
  54. #X obj 5 12 table \$0.inbuffer 8192;
  55. #N canvas 294 258 396 232 list_serialize_raw 0;
  56. #X obj 13 73 until;
  57. #X obj 13 97 list append;
  58. #X obj 13 47 t b a;
  59. #X obj 13 23 inlet;
  60. #X obj 13 169 outlet;
  61. #X obj 13 121 list split 8192;
  62. #X obj 141 106 b;
  63. #X text 12 190 cut incoming list into pieces of a maximum of the buffersize.
  64. ;
  65. #X connect 0 0 1 0;
  66. #X connect 1 0 5 0;
  67. #X connect 2 0 0 0;
  68. #X connect 2 1 1 1;
  69. #X connect 3 0 2 0;
  70. #X connect 5 0 4 0;
  71. #X connect 5 1 1 1;
  72. #X connect 5 2 6 0;
  73. #X connect 5 2 4 0;
  74. #X connect 6 0 0 1;
  75. #X restore 5 74 pd list_serialize_raw;
  76. #X connect 0 0 3 0;
  77. #X connect 0 1 1 0;
  78. #X connect 1 0 2 0;
  79. #X connect 3 0 5 0;
  80. #X connect 4 0 6 0;
  81. #X connect 5 0 4 0;
  82. #X connect 5 1 8 0;
  83. #X connect 6 0 7 0;
  84. #X connect 6 0 9 0;
  85. #X connect 7 0 6 1;
  86. #X connect 8 0 6 1;
  87. #X connect 9 0 11 0;
  88. #X connect 10 0 13 0;
  89. #X connect 13 0 0 0;
  90. #X restore 23 30 pd serialize;
  91. #X obj 23 109 t a a;
  92. #X obj 97 297 list prepend;
  93. #X obj 195 296 t a;
  94. #X obj 23 327 list append;
  95. #X obj 23 350 t a b;
  96. #X obj 160 56 inlet;
  97. #X text 210 56 reset;
  98. #X obj 23 53 sel 10 13;
  99. #X msg 23 76 32;
  100. #X obj 23 219 sel 59;
  101. #X obj 178 264 b;
  102. #X obj 23 373 list append 10;
  103. #X obj 23 149 sel 92;
  104. #X msg 23 171 -1;
  105. #X obj 62 171 t a a;
  106. #X msg 62 193 59;
  107. #X text 119 182 <-;
  108. #X text 144 176 separate by 59 (semicolon) \, but ignore semicolons
  109. prepended by 92 (backslash);
  110. #X connect 0 0 2 0;
  111. #X connect 2 0 10 0;
  112. #X connect 3 0 15 0;
  113. #X connect 3 1 4 0;
  114. #X connect 4 0 5 0;
  115. #X connect 4 0 6 1;
  116. #X connect 5 0 4 1;
  117. #X connect 6 0 7 0;
  118. #X connect 7 0 14 0;
  119. #X connect 7 1 6 1;
  120. #X connect 7 1 4 1;
  121. #X connect 8 0 13 0;
  122. #X connect 10 0 11 0;
  123. #X connect 10 1 11 0;
  124. #X connect 10 2 3 0;
  125. #X connect 11 0 3 0;
  126. #X connect 12 0 6 0;
  127. #X connect 13 0 4 1;
  128. #X connect 13 0 6 1;
  129. #X connect 14 0 1 0;
  130. #X connect 15 0 16 0;
  131. #X connect 15 1 17 0;
  132. #X connect 16 0 12 1;
  133. #X connect 17 0 18 0;
  134. #X connect 17 1 12 0;
  135. #X connect 18 0 12 1;
  136. #X restore 7 161 pd FUDI;
  137. #X text 70 162 <- PUT HERE THE PROTOCOL SPECIFIC DELIMITER CODE;
  138. #X text 15 197 --------------------------------------------------------
  139. ;
  140. #X text 12 129 --------------------------------------------------------
  141. ;
  142. #X obj 7 6 r \$1.TCPSOCKET;
  143. #X obj 7 465 s \$1.TCPSOCKET;
  144. #X obj 105 255 r \$1.TCPSOCKET;
  145. #X text 200 454 Author: Roman Haefeli;
  146. #X text 50 74 <- only pass stream of own socket;
  147. #X text 201 474 Version: 2009-02-02;
  148. #X connect 0 0 2 1;
  149. #X connect 1 0 2 0;
  150. #X connect 1 1 0 0;
  151. #X connect 2 0 14 0;
  152. #X connect 3 0 14 1;
  153. #X connect 4 0 5 1;
  154. #X connect 4 1 6 1;
  155. #X connect 5 0 9 0;
  156. #X connect 6 0 10 0;
  157. #X connect 7 0 8 0;
  158. #X connect 7 2 5 0;
  159. #X connect 7 3 6 0;
  160. #X connect 8 0 11 0;
  161. #X connect 9 0 11 0;
  162. #X connect 10 0 11 0;
  163. #X connect 11 0 19 0;
  164. #X connect 14 0 7 0;
  165. #X connect 18 0 1 0;
  166. #X connect 20 0 4 0;