Programming instructions

Programming Examples
LAN Programming Examples
Chapter 2 69
Sockets LAN Programming using C
The program listing shown in “Setting Parameters and Sending Queries Using Sockets and C”
on page 72 consists of two files; lanio.c and getopt.c. The lanio.c file has two main functions;
int main() and an int main1().
The int main() function allows communication with the signal generator interactively from
the command line. The program reads the signal generator's hostname from the command
line, followed by the SCPI command. It then opens a socket to the signal generator, using port
5025, and sends the command. If the command appears to be a query, the program queries the
signal generator for a response, and prints the response.
The int main1(), after renaming to int main(), will output a sequence of commands to the
signal generator. You can use the format as a template and then add your own code.
This program is available on the ESG Documentation CD-ROM as lanio.c
Sockets on UNIX
In UNIX, LAN communication via sockets is very similar to reading or writing a file. The only
difference is the openSocket() routine, which uses a few network library routines to create the
TCP/IP network connection. Once this connection is created, the standard fread() and fwrite()
routines are used for network communication. The following steps outline the process:
1. Copy the lanio.c and getopt.c files to your home UNIX directory. For example,
/users/mydir/.
2. At the UNIX prompt in your home directory type: cc -Aa -O -o lanio lanio.c
3. At the UNIX prompt in your home directory type: ./lanio xxxxx “*IDN?” where
xxxxx is the hostname for the signal generator. Use this same format to output SCPI
commands to the signal generator.
The int main1() function will output a sequence of commands in a program format. If you
want to run a program using a sequence of commands then perform the following:
1. Rename the lanio.c int main1() to int main() and the original int main() to int
main1().
2. In the main(), openSocket() function, change the “your hostname here” string to the
hostname of the signal generator you want to control.
3. Resave the lanio.c program
4. At the UNIX prompt type: cc -Aa -O -o lanio lanio.c
5. At the UNIX prompt type: ./lanio