Advertisement
Guest User

Untitled

a guest
Nov 28th, 2015
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.49 KB | None | 0 0
  1. DWORD WINAPI SendThread(LPVOID lpParam)
  2. {
  3. SOCKET * connectSocket=(SOCKET *)lpParam;
  4. char recvbuf[DEFAULT_BUFLEN];
  5. char recvbuffer[DEFAULT_BUFLEN];
  6. int size = 0;
  7. int priority = 0;
  8. int clientID = 0;
  9.  
  10. //int byteCounter = 0;
  11. int messageCounter = 0;
  12. double flowParameter = 0; //flowParametar = flow * 10;
  13. double flow = 2;
  14. flowParameter = flow * 10;
  15. //*((int*)recvbuf) = 396; //MESSAGE SIZE
  16. //*((int*)recvbuf + 1) = 1; // PRIORITY
  17.  
  18. *((int*)recvbuf) = 2; // CLIENT ID
  19. sendWrapper(connectSocket, recvbuf, sizeof(int));
  20.  
  21. clock_t start = clock();
  22. /*Do something*/
  23.  
  24. //do{
  25. //RANDOM PORUKE
  26. /*
  27. char *recvbuffer;
  28. size = RandomMessageSize();
  29. priority = RandomPriority();
  30. clientID = RandomClientID();
  31. recvbuffer = (char*)malloc(size);
  32. *((int*)recvbuffer) = size-sizeof(int) ; //MESSAGE SIZE
  33. *((int*)recvbuffer + 1) = priority; // PRIORITY
  34. *((int*)recvbuffer + 2) = clientID; // CLIENT ID
  35. memset((char*)(recvbuffer + 12), '3', size - 3*sizeof(int)); //CONTENT
  36.  
  37. sendWrapper(*connectSocket,recvbuffer,sizeof(int));
  38. sendWrapper(*connectSocket,recvbuffer+4, size - sizeof(int));
  39.  
  40. printf("Poslato je:%s",recvbuffer+12);
  41. free(recvbuffer);
  42.  
  43. //Sleep(2);
  44.  
  45. byteCounter += size;
  46. if(byteCounter >= flowParameter*1024)
  47. {
  48. byteCounter = 0;
  49. Sleep(10);
  50. }*/
  51.  
  52. //HARDKODOVANE PORUKE
  53. size = 0;
  54. priority = 1;
  55. clientID = 2;
  56. int cnt = 0;
  57. int mnozioc = 500;
  58. int mbC = 0;
  59. int byteCounter = 0;
  60. int kbCounter = 0;
  61. int mbCounter = 0;
  62. float secondsFor1gb = 0;
  63. do
  64. {
  65. cnt++;
  66. if(cnt == 4)
  67. {
  68. cnt = 1;
  69. }
  70. size = cnt * mnozioc;
  71. //recvbuffer = (char*)malloc(size);
  72. *((int*)recvbuffer) = size-sizeof(int) ; //MESSAGE SIZE
  73. *((int*)recvbuffer + 1) = priority; // PRIORITY
  74. *((int*)recvbuffer + 2) = clientID; // CLIENT ID
  75. memset((char*)(recvbuffer + 12), '2', size - 3*sizeof(int)); //CONTENT
  76.  
  77. sendWrapper(connectSocket,recvbuffer,sizeof(int));
  78. sendWrapper(connectSocket,recvbuffer+4, size - sizeof(int));
  79.  
  80. byteCounter += size;
  81. if(byteCounter >= 1024)
  82. {
  83. kbCounter += (byteCounter/1024);
  84. byteCounter = (byteCounter%1024);
  85. if(kbCounter >= 1024)
  86. {
  87. mbCounter += (kbCounter/1024);
  88. kbCounter = (kbCounter%1024);
  89. clock_t end = clock();
  90. float seconds = (float)(end - start) / CLOCKS_PER_SEC;
  91. secondsFor1gb=seconds;
  92. if(mbCounter % 10 == 0)
  93. {
  94. printf("Poslato je %d mb! Vreme slanja je %f\n", mbCounter,seconds);
  95. }
  96. }
  97. }
  98.  
  99. }while(mbCounter < 1024);
  100. return 0;
  101. /*
  102. size = 0;
  103. priority = 1;
  104. clientID = 2;
  105. int cnt = 0;
  106. int mnozioc = 500;
  107. for(int i=0;i<350*1024;i++)
  108. {
  109. cnt++;
  110. if(cnt == 4)
  111. {
  112. cnt = 1;
  113. }
  114. size = cnt * mnozioc;
  115. //recvbuffer = (char*)malloc(size);
  116. *((int*)recvbuffer) = size-sizeof(int) ; //MESSAGE SIZE
  117. *((int*)recvbuffer + 1) = priority; // PRIORITY
  118. *((int*)recvbuffer + 2) = clientID; // CLIENT ID
  119. memset((char*)(recvbuffer + 12), '2', size - 3*sizeof(int)); //CONTENT
  120.  
  121. sendWrapper(connectSocket,recvbuffer,sizeof(int));
  122. sendWrapper(connectSocket,recvbuffer+4, size - sizeof(int));
  123.  
  124. //printf("Poslato je:%s",recvbuffer+12);
  125. //free(recvbuffer);
  126.  
  127. messageCounter++;
  128. if((messageCounter % (30*1024)) == 0)
  129. {
  130. messageCounter = 0;
  131. clock_t end = clock();
  132. float seconds = (float)(end - start) / CLOCKS_PER_SEC;
  133. printf("Poslato je 30 mb poruka! Vreme slanja je %f\n", seconds);
  134. }
  135. //Sleep(1); //regulisanje protoka
  136. }
  137. clock_t end = clock();
  138. float seconds = (float)(end - start) / CLOCKS_PER_SEC;
  139. printf("Poslat je 1 GB podataka na prioritetu 2, za %f", seconds);
  140. return 0;*/
  141. /*
  142. byteCounter += size;
  143. if(byteCounter >= flowParameter*1024)
  144. {
  145. byteCounter = 0;
  146. Sleep(10);
  147. }*/
  148. //}while(true);
  149. }
  150.  
  151. DWORD WINAPI ReceiveThread(LPVOID lpParam)
  152. {
  153. SOCKET * socket=(SOCKET *)lpParam;
  154. char buffer[1024];
  155. int messageCounter = 0;
  156. int mbCounter=0;
  157. float secondsFor200Mb;
  158. float secondsFor1gb;
  159. clock_t start = clock();
  160. int mbC = 0;
  161. int byteCounter = 0;
  162. int kbCounter = 0;
  163. while(true)
  164. {
  165. receiveWrapper(socket,buffer,sizeof(int));
  166. int size=*((int *)buffer);
  167. receiveWrapper(socket,buffer+sizeof(int),size);
  168. messageCounter++;
  169. byteCounter += (size + 3*sizeof(int));
  170. if(byteCounter >= 1024)
  171. {
  172. kbCounter += (byteCounter/1024);
  173. byteCounter = (byteCounter%1024);
  174. if(kbCounter >= 1024)
  175. {
  176. mbCounter += (kbCounter/1024);
  177. kbCounter = (kbCounter%1024);
  178. clock_t end = clock();
  179. float seconds = (float)(end - start) / CLOCKS_PER_SEC;
  180. secondsFor1gb=seconds;
  181. printf("Primljeno je %d mb! Vreme slanja je %f\n", mbCounter,seconds);
  182. }
  183. }
  184. if(mbCounter == 1024)
  185. {
  186. clock_t end = clock();
  187. float seconds = (float)(end - start) / CLOCKS_PER_SEC;
  188. printf("Primljen 1 GB na prioritetu 2, za %f", seconds);
  189. break;
  190. }
  191.  
  192.  
  193. /*
  194. if(messageCounter % 1000 == 0)
  195. {
  196.  
  197. messageCounter=0;
  198. mbCounter++;
  199. mbC++;
  200. clock_t end = clock();
  201. float seconds = (float)(end - start) / CLOCKS_PER_SEC;
  202. secondsFor1gb=seconds;
  203. printf("Primljeno je %d mb! Vreme slanja je %f\n", mbCounter,seconds);
  204. }
  205. if(mbC == 1024)
  206. {
  207. clock_t end = clock();
  208. float seconds = (float)(end - start) / CLOCKS_PER_SEC;
  209. printf("Primljen 1 GB na prioritetu 2, za %f", seconds);
  210. break;
  211. }
  212. //clock_t end = clock();
  213. //float seconds = (float)(end - start) / CLOCKS_PER_SEC;
  214. //printf("Primljeno je 1024 poruke! Vreme slanja je %f\n", seconds);
  215. //Sleep(1);
  216. */
  217. }
  218. return 0;
  219. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement