#include <sys/socket.h>#include <arpa/inet.h>#include <unistd.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <iostream.h>Go to the source code of this file.
Defines | |
| #define | MESSAGE 100 |
Functions | |
| int | main (int argc, char *argv[]) |
|
|
Definition at line 9 of file receiver.cpp. |
|
||||||||||||
|
Definition at line 12 of file receiver.cpp. 00013 {
00014 int MySocket;
00015 struct sockaddr_in receiver_addr;
00016 struct sockaddr_in sender_addr;
00017 unsigned int message_length;
00018 char *host;
00019 char *message;
00020 char buffer[MESSAGE];
00021 unsigned short receiver_port;
00022 int received_MessageSize;
00023 char* buffer2;
00024
00025 receiver_port= atoi(argv[1]);
00026
00027 MySocket = socket(AF_INET, SOCK_DGRAM, 0);
00028
00029 if(MySocket < 0)
00030 {
00031 cout<<"socket failed\n";
00032 }
00033
00034 cout<<"socket is a success. \n";
00035
00036 memset(&receiver_addr, 0, sizeof(receiver_addr));
00037 receiver_addr.sin_family = AF_INET;
00038 receiver_addr.sin_addr.s_addr = htonl(INADDR_ANY);
00039 receiver_addr.sin_port = htons(receiver_port);
00040
00041 if(bind(MySocket , (struct sockaddr *)&receiver_addr
00042 , sizeof(receiver_addr)) < 0)
00043
00044 cout<<"binding has failed\n";
00045 cout<<"binding has succeeded\n";
00046
00047 for(;;)
00048 {
00049 message_length = sizeof(sender_addr);
00050 memset( buffer, 0, sizeof(buffer) );
00051 if ((received_MessageSize = recvfrom(MySocket , buffer , MESSAGE ,0,
00052 (struct sockaddr *) &sender_addr, &message_length)) < 0) {
00053 cout<<"recvfrom() failed\n";
00054 }
00055
00056 cout << message_length;
00057
00058 cout<<"message has been received \n";
00059 cout<<"THE MESSAGE IS : "<< buffer <<endl;
00060
00061
00062 memset( buffer, 0, sizeof(buffer) );
00063 buffer2 = "1234567890";
00064
00065 memcpy( buffer, buffer2, MESSAGE );
00066
00067 int i = 0;
00068
00069 for(; i < 14; i++ )
00070 printf("[%d]%c", buffer[i], buffer2[i] );
00071
00072
00073 cout << "done" << endl;
00074
00075 if(sendto(MySocket, buffer, MESSAGE, 0,
00076 (struct sockaddr *) &sender_addr , sizeof(sender_addr)) !=
00077 MESSAGE )
00078
00079 cout<<"sendto don't work"<<endl;
00080 }
00081
00082 }
|
1.2.11.1 written by Dimitri van Heesch,
© 1997-2001