음... 일단 두가지를 먼저 확인해 보세요.
첫째
보내는 측에 쌓여있는 데이타 (여기서는 hell --;)가 정말 있는가.. 찍어서 보이는게 아니라 실제
복사가 되었는지 보세요.
둘째
받는 측에서 제대로 받게 작성되었는지 테스트 해보세요.
웬만해서는 주고 받는 부분에 문제가 없을것 같지만 좀더 전형적인 코드를 가지고 확장해 나가면서
테스트 해보시는게 좋을듯합니다.
정성욱 님이 쓰신 글 :
: 클라이언트에서
: for (;;)
: {
: char hell[2000];
: int len, i;
: unsigned char *packet = read_serial_packet(src, &len);
:
: // write(sock, hell, sizeof(hell));
: // sprintf(hell, "%u", packet);
: // write(sock, hell, sizeof(hell));
:
: if (!packet)
: exit(0);
: for (i = 0; i < len; i++)
: {
: printf("%02x ", packet[i]); packet에 잇는 것을 화면에 출력함
: hell[i]=packet[i]; // hell로 저장한다.
: }
: write(sock, hell, sizeof(hell)); // 서버로 전송한다.
: putchar('\n');
: free((void *)packet);
: }
: }
:
: 서버에서는 요.
: clnt_sock=accept(serv_sock, (struct sockaddr*)&clnt_addr, &clnt_addr_size);
:
: if(clnt_sock == -1)
: printf("error\n");
:
: // read(clnt_sock, buf, sizeof(buf));
: read(clnt_sock, message, MAX);
: printf("out result\n");
: write(1, message, sizeof(message)); // 클라이언트에서 전송한것을 수신합니다.
: // printf("output %s : ", message);
: printf("\n");
:
: close(clnt_sock);
: close(serv_sock);
:
: return 0;
: }
:
: 데이터는 전송이 되는데요. 글자까 깨져서 나오거나 아에 안 나옵니다. 형이 안 맞은것 같은데요...
:
: 정확히 잘 모르겟네요. 도와주세요.ㅠㅠ
|