소켓 프로그래밍 중에서
글쓴이: 익명 사용자 / 작성시간: 수, 2002/06/19 - 3:35오후
클라이언트에서 서버에 데이타를 전송해서
서버에서 데이타를 처리하는 것을 만들고 있습니다.
클라이언트에서 데이타를 보낼때
typedef struct{
char Phone[16];
char PhoneId[10];
char ReceiveData[50];
}RDATA;
구조체 데이타를 보냅니다.
서버에서 이걸 잡아서 처리를 하면 데이타의 값이
다 넘어오는 것이 아니라 구조체의 첫번째의 값만 넘어 옵니다.
char rbuf[MAXLINE];
if(( size = read(client_fd, rbuf, MAXLINE)) > 0)
printf("Request service from client%s", rbuf);
이것이 결과를 확인하면
Request service from client01623451234
보낸데이타중 구조체의 폰번호만 들어옵니다.
클라이언트와 서버단중에서 어느 곳이 틀렸는지요..
도통 모르겠습니다.. ^^;;
Forums:
Re: 소켓 프로그래밍 중에서
안녕하세요...
여기에 있는 소스를 좀 보니깐.
보내는 부분은 struct 로 해서 보낼것 같은데...
받는 부분은 아래와 같이...
struct 전체를 받는게 아니라.
아래와 같이 스트링 하나만 받네요.
char rbuf[MAXLINE];
if(( size = read(client_fd, rbuf, MAXLINE)) > 0)
printf("Request service from client%s", rbuf);
이렇게 사용을 하면은 않되고.
받는 부분에서도 struct 로써 보내 온 데이타를 받아야 합니다.
_ 信
Re^2: ^^* 감사합니다. 문제 해결했어요.
답변 감사합니다.
처음 만드는거라 제가 개념이 없어서..^^;; 문제가 발생했는데
read할때 데이타를 구조체에 넣으니까 바로 들어 가네요..
애꿎은 클라이언트 프로그램만 문제를 찾고, 서버단에서
받는 부분이 틀려서 데이타가 안들어 왔던 거였네요.
댓글 달기