68 std::cout <<
"disconnect server" << std::endl;
130 std::cout <<
"reconnection failed" << std::endl;
139 std::vector<unsigned char> vec;
141 for(
int i = 0; i < size; i++)
143 vec.push_back(*(buf+i));
152 int32_t read_cnt = 0;
153 uint16_t packet_size = 0, total_byte = 0, offset = 0, recv_byte = 0, \
156 unsigned char r_buffer[buf_size] = {0, }, \
157 buffer[buf_size] = {0, }, \
161 ssize_t chk_connection = 0;
171 ret = poll(&fd, 1, 1000);
176 std::cout <<
"polling error" << std::endl;
180 read_cnt = recv(sock->
m_server_sock_, r_buffer,
sizeof(r_buffer), 0);
184 chk_connection = write(sock->
m_server_sock_, r_buffer,
sizeof(r_buffer));
186 if(chk_connection == -1)
189 std::cout <<
"server disconnected" << std::endl;
197 read_cnt = sock->
clientRead(r_buffer,
sizeof(r_buffer));
204 for(uint16_t i = 0; i < read_cnt; i++)
206 if(r_buffer[i] == 0x02)
208 for(
int j = 0; j < 4; j++)
210 cp_temp[j] = r_buffer[i+1+j];
212 packet_size = strtoul((
const char*) cp_temp, NULL, 16);
219 for(uint16_t i = 0; i < read_cnt - 1; i++)
221 if(r_buffer[read_cnt - 1 - i] == 0x03)
228 if(packet_size > total_byte)
230 memcpy(buffer + total_byte, r_buffer + offset, read_cnt - offset);
231 total_byte += read_cnt - offset;
233 else if(packet_size < total_byte)
235 if(buffer[0] == 0x02 && buffer[packet_size] == 0x03)
237 total_byte = packet_size;
241 memset(buffer, 0x00,
sizeof(buffer));
252 if(packet_size !=0 && total_byte != 0 && packet_size == total_byte)
254 if(buffer[total_byte - 1] == 0x03)
259 memset(buffer, 0x00,
sizeof(buffer));
268 memset(r_buffer, 0x00,
sizeof(r_buffer));
273 std::cout <<
"server response timeout" << std::endl;
284 int m_server_addr_size = 0;
285 uint16_t port_num = 0;
297 std::cout <<
"faild to create client socket" << std::endl;
302 tv.tv_usec = 500*1000;
304 if(setsockopt(
m_server_sock_, SOL_SOCKET, SO_RCVTIMEO, (
char*)&tv,
sizeof(tv)) < 0)
306 std::cout <<
"failed rcvtimeo setsockopt" << std::endl;
308 if(setsockopt(
m_server_sock_, SOL_SOCKET, SO_SNDTIMEO, (
char*)&tv,
sizeof(tv)) < 0)
310 std::cout <<
"failed sndtimeo setsockopt" << std::endl;
313 sscanf(port.c_str(),
"%u", (
unsigned int*)&port_num);
325 std::cout <<
"failed client connect, " << strerror(errno) << std::endl;
335 std::cout <<
"pthread create failed" << std::endl;
348 int32_t read_size = 0;
356 std::cout <<
"client read failed" << std::endl;
363 std::cout <<
"server is disconnected" << std::endl;
370 int32_t write_size = 0;
377 std::cout <<
"client write failed" << std::endl;
383 catch(
const std::exception& e)
385 std::cerr << e.what() <<
'\n';
393 std::cout <<
"server is disconnected" << std::endl;