웹마스터 팁

공유 메모리 제어에 관한 함수 정리


1) 공유 메모리 생성
   int shm_attach ( int key [, int memsize [, int perm]])
   공유 메모리 세그먼트를 열거나 생성한다.

   ex) shm_attach($chat, 1024, 0777);
   매개변수 설명 (공유메모리의 키 값, 공유메모리의 사이즈(sysvshm.init_mem), 퍼미션 임의값 0666:8진수)

2) 공유 메모리 종료
   int shm_detach ( int shm_identifier)
   공유 메모리 세그먼트 접속을 종료.
   Unix 시스템에서의 공유메모리는 종료 후에도 여전히 존재한다. :(

3) 공유 메모리 삭제
   int shm_remove ( int shm_identifier)
   위에서 말했듯이 Unix 시스템에서는 종료 후에도 여전히 데이타가 남아있다, 삭제.

4) 공유 메모리 블럭 생성
   int shmop_open ( int key, string flags, int mode, int size)
   공유 메모리 블럭을 열거나 생성.

   "a" : 접근 (IPC_EXCL 상수로 설정) 존재하고 있는 공유 메모리 세그먼트를 여는데 이 flag를 사용.

   "c" : 생성 (IPC_CREATE 상수로 설정) 새로운 공유 메모리 세그먼트를 생성하려할 때 이 flag를 사용.

   ex) $shm_open = shmop_open (0x00ff, "c", 0777, 100);
   매개변수 설명 (키값:10진수 또는 16진수로, "세그먼트의 열기, 생성", 퍼미션:8진수, 사이즈);

   주의 : 세번째와 네번째 인자는 존재하고 있는 메모리 세그먼트를 열때는 0 을 지정해야만 한다.

5) 공유 메모리 블럭 읽기
   string shmop_read ( int shmid, int start, int count)
   공유 메모리 블럭으로부터 데이터를 판독.

   ex) $data = shmop_read($shm_open, 0, 50);
   매개변수 설명 (공유메모리 오픈 핸들(블럭아이디), 시작할offset, count:읽어낼바이트);

6) 공유 메모리 블럭의 사이즈
   int shmop_size ( int shmid)
   공유 메모리 블럭으로부터 총 사이즈를 읽어낸다.

   ex) $size = shmop_size($shm_open);
   매개변수 설명은 생략

7) 공유 메모리 블럭에 데이터 기록
   int shmop_write ( int shmid, string data, int offset)
   공유 메모리 블럭에 데이터를 기록한다.

   ex) $shm_write = shmop_write($shm_open, "데이터를 기록한다", 0);
   매개변수 설명 (공유메모리 오픈 핸들(블럭아이디), 기록할 데이타, 시작할offset)

   위 코드는 "데이터를 기록한다"를 공유 메모리 블럭에 기록하고, 기록된 바이트 수를 $shm_write 에 반환한다.

8) 공유 메모리 블럭 삭제
   int shmop_delete ( int shmid)
   공유 메모리 블럭을 삭제한다.

   ex) shmop_delete($shm_id);
   매개변수 설명은 생략

9) 공유 메모리 블럭 닫기
   int shmop_close ( int shmid)
   공유 메모리 블럭을 닫는다.

   ex) shmop_close($shm_id);
   매개변수 설명은 생략


수고하셨어요~
제목 글쓴이 날짜
정말 멋있는 글자 변환 스크립트 [12] sythesis 2003.11.07
자바스크립트로 작성한 그림맞추기 퍼즐게임 [2] 김별 2003.11.05
자바스크립트로 윈도우 흉내내기 (?) [15] 뒹굴리스트 2003.11.03
[초간단 자바스크립트!] 이미지 드래그하기..~~ [8] ∑Ztxy 2003.11.02
마우스 이벤트 발생시 문서 상,하단으로 이동 [3] RedEye(kaist) 2003.10.30
클릭하면 홈페이지를 시작페이지로 하는 소스... [7] 젤군 2003.10.28
식대 계산기... ^^ [3] 김주형 2003.10.27
더 이상의 필터링은 없다!!! [10] 미친개 2003.10.26
[초간단 자바스크립트!] 자바로 플래시 따라하기! [3] ∑Ztxy 2003.10.15
스물을 세면 죽음이야~~~ [20] 미친개 2003.10.14
[초간단 자바스크립트!] 트랜지션 공지사항!! ∑Ztxy 2003.10.13
플래시 크기 바꾸기 [IE/NS 겸용] [4] teslaMINT 2003.10.13
새창 띄운후 부모창 확인없이 닫기... [4] PHASE 2003.10.12
개판 오분전 - 이미지 뷰에 관한 한가지 힌트 [5] 미친개 2003.10.11
[초간단 자바스크립트!] 날짜 카운터! 커플홈에 강추!! [15] ∑Ztxy 2003.10.08
개판 오분전 만년달력......ㅡ,.ㅡ [4] 미친개 2003.10.08
게시판 스킨에 프린트 버튼 추가하기 [3] PHASE 2003.09.30
[초간단 자바스크립트!] 홈페이지에 FTP 폼 넣기?! [10] ∑Ztxy 2003.09.29
[초간단 자바스크립트(강의)!] 입력박스에 입력한 주소로 이동하기... ∑Ztxy 2003.09.27
[초간단 자바스크립트(강의)!] 풀스크린 창 띄우기... [3] ∑Ztxy 2003.09.27