EasyManua.ls Logo

Rohde & Schwarz SMU200A - Page 485

Rohde & Schwarz SMU200A
888 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Remote Control Basics
R&S
®
SMU200A
465Operating Manual 1007.9845.32 ─ 15
currentHostName = "";
currentPort = 0;
currentHostInfo = NULL;
clientIsConnected = false;
throw string("can't create socket\n" );
}
serverAddress.sin_family = currentHostInfo->h_addrtype;
serverAddress.sin_port = htons( currentPort );
memcpy( (char *) &serverAddress.sin_addr.s_addr, currentHostInfo->
h_addr_list[0], currentHostInfo->h_length );
if( connect( currentSocketDescr, ( struct sockaddr *) &serverAddress,
sizeof(serverAddress ) ) < 0 )
{
throw string("can't connect server\n" );
}
clientIsConnected = true;
}
}
void TcpClient::disconnect( )
{
if( clientIsConnected )
{
#ifndef LINUX
closesocket( currentSocketDescr );
#else
close( currentSocketDescr );
#endif
}
currentSocketDescr = 0;
currentHostName = "";
currentPort = 0;
currentHostInfo = NULL;
clientIsConnected = false;
}
void TcpClient::transmit( string &txString )
{
if( !clientIsConnected )
{
throw string("connection must be established before any data can be sent\n");
}
char * transmitBuffer = new char[txString.length() +1];
memcpy( transmitBuffer, txString.c_str(), txString.length() );
transmitBuffer[txString.length()] = '\n'; //newline is needed!
if( send( currentSocketDescr, transmitBuffer, txString.length() + 1, 0 ) < 0 )
{
throw string("can't transmit data\n");
}
delete [] transmitBuffer;
}
void TcpClient::receive( string &rxString )
Starting a Remote Control Session

Table of Contents

Other manuals for Rohde & Schwarz SMU200A

Related product manuals