웹마스터 팁

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


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);
   매개변수 설명은 생략


수고하셨어요~
제목 글쓴이 날짜
[타키의 초보강좌]PHP 기초 강좌 제 1탄[패스워드 인증] [8] 타키 2004.10.23
www자동 붙히기 [8] 미오유 2004.10.22
IP to 정수변환(;) [4] 플로렐라 2004.10.21
한글자르는 문제 PHP차원에서 해결된 건가? [5] 겜방 2004.10.20
MySQL의 패턴 매칭 맛보기 [2] 손상모 2004.10.19
그래프 만들어주는 소스 [10] 미친개 2004.10.15
윈도우XP 서비스팩2 사용자인지 아닌지 판별하기 [22] file 天高馬肥[쉬드] 2004.10.09
echo 안에 더블쿼테이션을 사용하기 [15] 토토루 2004.10.05
trim 과 addslashes를 일괄처리하는 함수 [7] BigStone 2004.10.02
'' -> ""로 만들기(?) [2] 플로렐라 2004.09.17
crontab 실제 사용 예제, 온라인 웹 게임 운영하기 (팁 + 오픈 소스 게임 소개 ^^;) [1] 박용구 2004.09.14
날씨별로 다양한 말이나 음악 보여주기[수정] [4] 로크 2004.09.13
-긴급소스 수정본- winamp 방송정보 알아내기 file 이승원 2004.09.11
랜덤으로 파일 가져와서 재생하고, 끝나면 다른 랜덤파일 또 재생하기.. 겜방 2004.09.10
썸네일 생성시 unsharp mask활용할수 있는 팁..소스 file 앗싸~~ 곰세마리 2004.09.06
Echo 여러번호출? 할때 깜빡임 없애기 [5] file 신희돈 2004.09.03
서브디렉토리,파일까지 모두 삭제하는 함수. [5] Lepas 2004.08.24
4. include, require 그리고 뽀나쓰~ [8] 티다 2004.08.19
공유 메모리 제어에 관한 함수 정리 (공유메모리) [5] Simsim 2004.08.16
접속자 IP 주소 텍스트로 저장 [7] 천상원 2004.08.15