IM DA100-11E
8-13
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 }
Commentaires sur ces manuels