rcv.c 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. /************* UDP CLIENT CODE *******************/
  2. #include <stdio.h>
  3. #include <sys/socket.h>
  4. #include <netinet/in.h>
  5. #include <string.h>
  6. #define STR(num) #num
  7. int main(){
  8. int clientSocket, portNum, nBytes;
  9. char buffer[1024];
  10. struct sockaddr_in serverAddr;
  11. socklen_t addr_size;
  12. /*Create UDP socket*/
  13. clientSocket = socket(PF_INET, SOCK_DGRAM, 6454);
  14. /*Configure settings in address struct*/
  15. //serverAddr.sin_family = AF_INET;
  16. //serverAddr.sin_port = htons(7891);
  17. //serverAddr.sin_port = htons(6454);
  18. //serverAddr.sin_addr.s_addr = inet_addr("127.0.0.1");
  19. //serverAddr.sin_addr.s_addr = inet_addr("2.0.0.1");
  20. //memset(serverAddr.sin_zero, '\0', sizeof serverAddr.sin_zero);
  21. /*Initialize size variable to be used later on*/
  22. //addr_size = sizeof serverAddr;
  23. while(1){
  24. //printf("Type a sentence to send to server:\n");
  25. //fgets(buffer,1024,stdin);
  26. //printf("You typed: %s",buffer);
  27. nBytes = strlen(buffer) + 1;
  28. /*Send message to server*/
  29. //sendto(clientSocket,buffer,nBytes,0,(struct sockaddr *)&serverAddr,addr_size);
  30. /*Receive message from server*/
  31. //nBytes = recvfrom(clientSocket,buffer,1024,0,NULL, NULL);
  32. nBytes = recvfrom(clientSocket,buffer,512,0,NULL, NULL);
  33. //printf(": %s\n",nBytes);
  34. /*
  35. printf(": %s\n",(&buffer));
  36. int i = atoi(buffer);
  37. printf("%d\n", i);
  38. int ii;
  39. sscanf(buffer, "%d", &ii);
  40. */
  41. //# printf("%s\n", buffer);
  42. printf(STR(buffer)": ");
  43. for (int i = 0; i < 512; ++i) {
  44. //printf("%c, ", buffer[i]);
  45. //printf("%u, ", buffer[i]);
  46. //if( i > 500 & i < 512 ){
  47. printf("%i, ", buffer[i]);
  48. //}
  49. }
  50. printf("\b\b\n");
  51. /*
  52. unsigned int x = 0x76543210;
  53. char *c = (char*) &x;
  54. printf ("*c is: 0x%x\n", *c);
  55. if (*c == 0x10){
  56. printf ("Underlying architecture is little endian. \n");
  57. }else{
  58. printf ("Underlying architecture is big endian. \n");
  59. }
  60. */
  61. }
  62. return 0;
  63. }