
FINS/TCP Method | Section |
86else
87{
88err_exit("FINS/TCP header send error");
89}
90
91 /*RECEIVE FINS/TCP COMMAND (READ RECEIVE FUNCTIONS)*/
92recvlen = 24;
93if (tcp_recv(sockfd, fins_tcp_header, recvlen) == recvlen)
94{
95 | alarm(0); /*STOP | RESPONSE | MONITOR TIMER*/ |
96 |
|
|
|
97 | /* CONFIRM WHETHER FINS NODE NUMBER SEND COMMAND | ||
| (CLIENT TO | SERVER) | WAS RECEIVED*/ |
98 | if ((fins_tcp_header[8] != 0x00) (fins_tcp_header[9] != 0x00) | ||
99 | (fins_tcp_header[10] != 0x00) (fins_tcp_header[11] != 0x01)) | ||
100 | { |
|
|
|
|
| |
101 | err_exit("FINS/TCP illegal command error"); | ||
102 | } |
|
|
103 |
|
|
|
104printf("FINS/TCP header receive length %d¥n",recvlen);
105cli_node_no = fins_tcp_header[19];
106srv_node_no = fins_tcp_header[23];
107printf("FINS/TCP client Node No. = %d¥n",cli_node_no);
108printf("FINS/TCP server Node No. = %d¥n",srv_node_no);
109}
110else
111{
112err_exit("TCP receive error");
113}
114
115 /* SEND FINS/TCP COMMAND*/
116/*
117* GENERATE FINS COMMAND FRAME
118*/
119 fins_tcp_header[0] = 'F'; /* Header */
120fins_tcp_header[1] = 'I';
121fins_tcp_header[2] = 'N';
122fins_tcp_header[3] = 'S';
123 fins_tcp_header[4] = 0x00; /* Length */
124fins_tcp_header[5] = 0x00;
125fins_tcp_header[6] = 0x00;
126fins_tcp_header[7] = 8+18; /*Length of data from Command up to end of FINS frame */
127 fins_tcp_header[8] = 0x00; /* Command */
128fins_tcp_header[9] = 0x00;
129fins_tcp_header[10] = 0x00;
130fins_tcp_header[11] = 0x02;
131fins_tcp_header[12] = 0x00; /* Error Code */
132fins_tcp_header[13] = 0x00;
133fins_tcp_header[14] = 0x00;
134fins_tcp_header[15] = 0x00;
135
136 /* SEND FINS/TCP COMMAND*/
137sendlen = 16;
138if (send(sockfd,fins_tcp_header,sendlen,0) == sendlen) {