게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
c++ 간단한 소켓프로그램인데요 이거 왜이럴까요 -_-?
게시물ID : programmer_9337짧은주소 복사하기
작성자 : 잘부탁해
추천 : 0
조회수 : 784회
댓글수 : 5개
등록시간 : 2015/04/14 14:28:35
옵션
  • 본인삭제금지
정말 예제 간단한 클라이언트 프로그램 짜봤는데요

서버에 어떤 명령어를 정해놓고 제가 만약 1이란문자를 서버에 전송시키면
100이란 단어를, 2란 문자를 보내면 200이란 문자를 서버에서 보내줘야되는데요...

문제는 

1 보내면 아무것도 안오고
2 를 보내면 100이오고...
아무 지정도 안해놓은 3을 보내면 에러가 떠야되는데
200이오고

한 템포씩 늦게 도착하네요...

이거 이유가 리시브쪽일까요... 센드쪽일까요...

소켓쪽은 전혀 이상이없구요
  1.     WSADATA wsaData;
  2.     SOCKET hSocket;
  3.     char message[BUF_SIZE];
  4.     int strLen;
  5.     SOCKADDR_IN servAdr;
  6.  
  7.     if (WSAStartup(MAKEWORD(22)&wsaData) != 0)
  8.         ErrorHandling("WSAStartup() error!");
  9.  
  10.     hSocket = socket(PF_INET, SOCK_STREAM, 0);
  11.     if (hSocket == INVALID_SOCKET)
  12.         ErrorHandling("socket() error");
  13.  
  14.     memset(&servAdr, 0sizeof(servAdr));
  15.     servAdr.sin_family = AF_INET;
  16.     servAdr.sin_addr.s_addr = inet_addr(IP);
  17.     servAdr.sin_port = htons(PORT);
  18.  
  19.     if (connect(hSocket, (SOCKADDR*)&servAdr, sizeof(servAdr)) == SOCKET_ERROR)
  20.         ErrorHandling("connect() error!");
  21.     else
  22.     {
  23.         puts("Connected...........");

여기가 이제 센드하고 리시브쪽인데...

  1. while (1)
  2.     {
  3.        
  4.  
  5.         memset(message, 0x0, BUF_SIZE);
  6.         fputs("Input message(Q to quit): "stdout);
  7.         fgets(message, BUF_SIZE, stdin);
  8.        
  9.         if (!strcmp(message, "q\n") || !strcmp(message, "Q\n"))
  10.             break;
  11.  
  12.         send(hSocket, message, strlen(message)0);
  13.        
  14.         strLen = recv(hSocket, message, BUF_SIZE - 10);
  15.         strLen = recv(hSocket, message, sizeof(message) - 10);
  16.         message[strLen] = 0;
  17.  
  18.         printf("Message from server: \n%s\n\n", message);
  19.        
  20.  
  21.     }
서버쪽도 전혀 이상이 없습니다 ㅠ

근데

더웃긴건...

디버깅 모드해서 하나하나 뜯어보려고 디버깅 모드로 한줄한줄 코딩하면

원하는 데이터가 잘나오네요.....-_-

지나가는 얘기로

전송속도가 너무 빨라서 늦게 오는거다... 라는걸 들어본적이있어서..

슬립걸어도 안오네요...-_-;;

미쳐버리겠네요...ㅋㅋㅋ


디버깅해서 한줄한줄 실행시키면 원하는데이터가 나오고

걍 빌드해서 실행시키면... 한템포씩 늦네요 ㅠ

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호