예제 #1
0
int main( int argc, char* argv[])
{

	if ( argc != 3 )
	{
		cout << "usage:  " << argv[0] << " [localport] [remoteport]" <<
		endl;
		return 1;
	}
	
	int localport  = atoi( argv[1] );
	int remoteport = atoi( argv[2] );
	
	UdpSocket mySock;
	
	mySock.initialize( localport );
   
	string msg = "herro!";
   
	char msgrx[256];
   
	memset( msgrx, 0, sizeof(msgrx) );
	
	cout << "send returned " << mySock.send( "localhost", remoteport, (unsigned char*)msg.c_str(), msg.length() ) << endl;

	
	cout << "receive returned " << mySock.receive( (unsigned char*)msgrx, sizeof(msgrx) ) << endl;	
	cout << "received ";
	
	cout << msgrx << endl;
	
	cout << endl;
	
	return 0;
}
예제 #2
0
int my_receive()
{
    printf("==== Receive\n");
    UdpSocket receiver;
    DataBuffer buffer(4096);
    buffer.set_data_size(4096);
    YETI_Result result = receiver.bind(SocketAddress(IpAddress::Any, 9123));
    if (YETI_FAILED(result)) {
        fprintf(stderr, "bind() failed (%d)\n", result);
        return result;
    }

    SocketAddress address;
    result = receiver.receive(buffer, &address);
    if (YETI_FAILED(result)) {
        fprintf(stderr, "receive() failed (%d)\n", result);
        return result;
    }

    String addr_string = address.get_ipaddress().to_string();

    printf("received packet, size=%d, from %s:%d\n",
        (int)buffer.get_data_size(),
        (const char*)addr_string,
        (int)address.get_port());
    return 0;
}