네트워크/vmware 실습
7월 8일 파일소켓으로 ptread
송시혁
2013. 7. 8. 16:15
위의 define문을 보면FILE_SOCKET이 "../SMART_SCOKET"정의 되어 있다.
unlink()함수에서 인자로 define한 값을 받는다. UNLINK는 define한 이름의 파일을 지우는 역할인데 여기서 호출한 이유는 혹시나 같은 이름의
파일이 있을지 모르니 호출하였다.
소켓함수의 AF_UNIX가 인자로 사용되었다. 이부분 보류 잘모름. OTL.....
struct sockaddr_un부분을 본다.
#define __SOCKADDR_COMMON(sa_prefix) sa_family_t sa_prefix##family |
strcpy(stSAddr, FILE_SOCKET)-> FILE_SOCKET을 stSAddr로 복사한다.
iStructSize=sizeof(struct sockAddr_un)=iStructSize에 구조체 크기를 설정한다.
while문 내부
변수 선언 가능한다. 중괄호 내에서만 실행가능한 변수이다.
다음 명령을 친다. 그 이유는 AF_UNIX 실행파일을 VMWARE에서 실행할 수 없기 때문에
리눅스 공유폴더 밖에서 실행해야 한다. 실행파일을 그래서 리눅스공유폴더보다 상위폴더에로 가져와서 실행해야 한다.
home디렉토리에서 SMART.SOCKET=이 생성되어 있는 것이 보인다.
클라이언트
여기 소스에서 잘못된부분이 있는데 close(iCSock);를 return 0;전에 삽입하여야 한다. 지금 이소스대로 하면, 메시지를 한 번 전송하고
클라이언트가 꺼져 버린다. 그렇기 때문에 반드시 return 전에 사용하여야 한다.