4 ethernet program, Output the measurement data (asci) – Yokogawa DR240 User Manual

Page 111

Advertising
background image

8-13

IM DR231-11E

Sample Program

8

8.4

Ethernet Program

Configuration

Model

IBM PC/AT

OS

Windows95

Lnguage

Visual-C

Output the measurement data (ASCI)

1

/*

2

* DARWIN - PC Communication Program for Winsock

3

*/

4

#include <winsock.h>

5

#include <stdlib.h>

6

#include <stdio.h>

7
8

#define IP_ADDR

“133.140.104.204”

9

#define PORT_NUM

34150

10

#define BUF_MAX

4096

11
12

extern int recv_msg(SOCKET so, char *msg, char *buf, int max);

13
14

void main(void) {

15
16

static char * msg[] = {

17
18

“TS0”,

19

“\x1bT”,

20

“FM0,001,010”,

21

NULL

22

};

23

WSADATA

wsa;

24

SOCKET

so;

25

struct sockaddr_in addr;

26

char

buf[BUF_MAX];

27

int

i;

28
29

if(WSAStartup(MAKEWORD(1,1), &wsa) == 0) {

30
31

if((so = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) != INVALID_SOCKET) {

32
33

memset(&addr, 0x00, sizeof(addr));

34

addr.sin_family = AF_INET;

35

addr.sin_addr.s_addr = inet_addr(IP_ADDR);

36

addr.sin_port

= htons(PORT_NUM);

37
38

if(connect(so, (void *)&addr, sizeof(addr)) != SOCKET_ERROR) {

39
40

for(i = 0; msg[i] != NULL; i++) {

41
42

sprintf(buf, “%s%s”, msg[i], “\r\n”);

43
44

if(send(so, buf, strlen(buf), 0) == SOCKET_ERROR)

45

break;

46
47

printf(“%s”, buf);

48
49

if(recv_msg(so, msg[i], buf, BUF_MAX) <= 0)

50

break;

51
52

printf(“%s”, buf);

53

}

54

}

55

closesocket(so);

56

}

Advertising
This manual is related to the following products: