Main Page   Packages   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

C:/temp/src/j2k/Deprecated/UDP.Unix/receiver.cpp

Go to the documentation of this file.
00001 #include <sys/socket.h>
00002 #include <arpa/inet.h>
00003 #include <unistd.h>
00004 #include <stdio.h>
00005 #include <stdlib.h>
00006 #include <string.h>
00007 #include <iostream.h>
00008 
00009 #define MESSAGE 100
00010 
00011 
00012 int main(int argc , char *argv[])
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 }
00083 
00084 
00085 
00086 
00087 
00088 

Generated on Sun Oct 14 18:46:30 2001 for Standard J2K Library by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001