SOL9 2.0 Sample: SocketDatagramSender

SOL9 2.0 Samples

1 Screenshot


2 Source code

/*
 * SocketDatagramSender.cpp 
 * Copyright (c) 2009 Antillia.com TOSHIYUKI ARAI. ALL RIGHTS RESERVED. 
 */



#include <sol\SocketDatagram.h>
#include <sol\WSAInitializer.h>

class  SocketDatagramSender{

public:
    SocketDatagramSender()
    {
                
    }

public:
    void send(InetAddress& inet) {

        SocketDatagram socketDatagram;

        char buf[SIZE_1KB];

        for (int i=0; i<10; i++) {
            sprintf(buf, "%d Sending a message by a SocketDatagram.\n'Hello world!\n Goodbye world.'", i); 
            int slen = strlen(buf);
            try {
                //1 Send a string.
                int rc = socketDatagram.sendTo(inet, buf, slen);
                printf("sent: string=[%s] len=%d(bytes) sent=%d(bytes)\n", 
                    buf, slen, rc);

                Sleep(1000);

                if (rc >0) {
                    char reply[SIZE_1KB];
                    //2 Receive a string.
                    int r = socketDatagram.recvFrom(inet.getPort(), reply, sizeof(reply));
                    if (r >0) {
                        printf("Got a reply:[%s]\n", reply);
                    }
                }
            } catch (Exception& ex) {
                ex.printf();
            } catch (...) {

            }
        }
    }    

};


/**
 *
 */

void _tmain(int argc, TCHAR* argv[])
{
    WSAInitializer wsaInitializer;

    try {
        printf("Create SocketDatagramSender\n");

        //Host=localhost, port = 32000
        InetAddress inet("localhost", 32000);

        SocketDatagramSender sender;

        sender.send(inet);

    } catch (Exception& ex) {
        ex.printf();

    } catch (...) {
        printf("Exception\n");
    }
        
}

Last modified: 11 Nov 2009

Copyright (c) 2009 Antillia.com ALL RIGHTS RESERVED.