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

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
5
#include
6
#include
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
}