usb-6009
This commit is contained in:
73
NI-VISA/Examples/C/TCPIP/tcpip.c
Normal file
73
NI-VISA/Examples/C/TCPIP/tcpip.c
Normal file
@ -0,0 +1,73 @@
|
||||
/*********************************************************************/
|
||||
/* This example demonstrates opening a simple TCPIP connection and */
|
||||
/* does a read and checks a few properties. */
|
||||
/* */
|
||||
/* The general flow of the code is */
|
||||
/* Open Resource Manager */
|
||||
/* Open a session to the TCP/IP site at NI */
|
||||
/* Perform a read, and check properties */
|
||||
/* Close all VISA Sessions */
|
||||
/*********************************************************************/
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "visa.h"
|
||||
|
||||
static char outputBuffer[VI_FIND_BUFLEN];
|
||||
static ViSession defaultRM, instr;
|
||||
static ViStatus status;
|
||||
static ViUInt32 count;
|
||||
static ViUInt16 portNo;
|
||||
|
||||
int main(void)
|
||||
{
|
||||
/* First we will need to open the default resource manager. */
|
||||
status = viOpenDefaultRM (&defaultRM);
|
||||
if (status < VI_SUCCESS)
|
||||
{
|
||||
printf("Could not open a session to the VISA Resource Manager!\n");
|
||||
exit (EXIT_FAILURE);
|
||||
}
|
||||
|
||||
/* Now we will open a session via TCP/IP to ni.com */
|
||||
status = viOpen (defaultRM, "TCPIP0::ftp.ni.com::21::SOCKET", VI_NULL, VI_NULL, &instr);
|
||||
if (status < VI_SUCCESS)
|
||||
{
|
||||
printf ("An error occurred opening the session to TCPIP0::ftp.ni.com::21::SOCKET\n");
|
||||
viClose(defaultRM);
|
||||
exit (EXIT_FAILURE);
|
||||
}
|
||||
|
||||
viSetAttribute (instr, VI_ATTR_TCPIP_NODELAY, VI_TRUE);
|
||||
|
||||
status = viRead (instr, (ViBuf)outputBuffer, 25, &count);
|
||||
if (status < VI_SUCCESS)
|
||||
{
|
||||
printf("viRead failed with error code %x \n",status);
|
||||
viClose(defaultRM);
|
||||
exit (EXIT_FAILURE);
|
||||
}
|
||||
|
||||
printf("The server response is:\n %s\n\n",outputBuffer);
|
||||
status = viGetAttribute (instr, VI_ATTR_TCPIP_ADDR, outputBuffer);
|
||||
printf(" Address: %s\n",outputBuffer);
|
||||
|
||||
status = viGetAttribute (instr, VI_ATTR_TCPIP_HOSTNAME, outputBuffer);
|
||||
printf(" Host Name: %s\n",outputBuffer);
|
||||
|
||||
status = viGetAttribute (instr, VI_ATTR_TCPIP_PORT, &portNo);
|
||||
printf(" Port: %d\n",portNo);
|
||||
|
||||
status = viGetAttribute (instr, VI_ATTR_RSRC_CLASS, outputBuffer);
|
||||
printf(" Resource Class: %s\n",outputBuffer);
|
||||
|
||||
status = viClose (instr);
|
||||
status = viClose (defaultRM);
|
||||
printf ("\nHit enter to continue.");
|
||||
fflush(stdin);
|
||||
getchar();
|
||||
|
||||
return 0;
|
||||
}
|
Reference in New Issue
Block a user