웹솔루션개발 22년 노하우! 해피CGI의 모든것

[해피CGI][cgimall] Edge chatting 0.96 -Perl 버전 본문

웹프로그램밍 자료실/PERL 자료

[해피CGI][cgimall] Edge chatting 0.96 -Perl 버전

해피CGI윤실장 2016. 12. 5. 13:56

예전에 만들던 Edge chatting 에 약간의 기능을 더 넣었습니다. 사용
하기가 너무 불편한 것 같아서 몇몇 명령어를 버튼으로 처리할 수 있
도록 했으며 대화방의 입장은 대화방 리스트의 대화방 제목을 클릭하
는 것만으로도 가능하도록 했습니다. 하지만 아직 대부분의 기능은 텍
스트 명령어를 직접 입력해야 합니다. 다음은 첨부된 매뉴얼입니다.

-------------------------------------------------------
Edge chatting ver 0.96 매뉴얼

프로그래머: 이진희
홈페이지: www.jinyedge.pe.kr
E-Mail: jinyedge@abstek.com

*이 문서의 작성일은 2003/05/15이고 이 문서내에서 말하는 ``현재``는
2003/05/15을 말합니다.

-------------------------------------------------------
1. 개요

Edge chatting은 Select 시스템 콜을 사용하는 비동기 소켓 방식의
채팅서버입니다. Edge chatting은 기본적으로 과거 텔넷 환경의 대
화방을 흉내낸 프로그램으로 출발을 했으며 따라서 웹기반의 대화방
임에도 현재의 다른 웹기반 대화방에 비해서 사용이 편리하지 않습
니다.

현재로서 Edge chatting 0.96이하의 버전은 공개 프로그램이며 비상업
적 용도에 한해서 자유롭게 사용할 수 있습니다. 단 제작자는 이 프로
그램으로 발생할 수 있는 모든 손실에 대하여 아무런 책임을 지지 않습
니다.

Edge chatting의 서버는 먼저 Perl로 만들어졌으며 이후에 C++로 포
팅되었습니다. Perl 버전의 경우는 윈도우즈와 리눅스 환경에서 동작
하며 C++ 버전의 경우는 현재로서는 리눅스 버전만이 있습니다. 이전
에 제공되던 윈도우즈 C++ 버전은 더 이상 제공되지 않습니다. 그리
고 클라이언트의 경우는 현재로서는 자바 애플릿의 형태로만 제공이
됩니다.

Edge chatting의 기능을 테스트해 볼 수 있는 데모 사이트의 주소는
다음과 같습니다.

http://www.jinyedge.pe.kr


-------------------------------------------------------
2. 서버의 실행

다음은 각 버전별 서버의 실행 방법입니다. 이때 환경변수를 변경하지
않은 상태에서 실행을 하는 경우는 서버주소는 현재 서버의 모든 주
소를 사용하며 포트는 8040번을 사용합니다.

- Perl 버전의 경우
Perl 버전의 경우는 main.pl을 실행하는 것만으로 서버를 시작할 수 있
습니다. 윈도우즈 환경이라면 액티브스테이트의 Perl 인터프리터를 설
치하고 mail.pl 을 실행합니다. 그리고 리눅스 환경이라면 main.pl 에
실행 권한을 주고서 다시 main.pl 을 실행합니다.

- C++ 버전의 경우
C++ 버전의 경우는 리눅스 환경에서만 작동합니다. 먼저 압축된 파일
을 풀고 make 명령을 수행하여 컴파일을 합니다. 그리고 만들어진
main 을 실행합니다.


-------------------------------------------------------
3. 클라이언트의 실행

Edge chatting의 클라이언트 프로그램은 자바 애플릿의 형태로 제공
됩니다. 따라서 클라이언트 프로그램의 실행에는 웹서버가 필요합니
다.

Edge chatting 클라이언트를 실행하려면 applet 폴더 전체를 웹서버를
통해서 접근이 가능한 폴더로 복사하십시오. 그리고 client.html 또
는 edge_chatting.html을 브라우저에서 실행하십시오. 이때 접속주소와
포트의 기본값은 각각 127.0.0.1과 8040입니다. 이 접속정보를 수정하려
면 edge_chatting.html을 편집하십시오. param 태그의 server_addr,
server_port의 값을 각각 원하는 서버주소와 포트로 변경하시면 됩니다.

ex1) 기본값으로 실행을 하는 경우는 http://127.0.0.1/applet/client.html
을 브라우저의 주소창에 입력하고 실행합니다.

ex2) 만약 자신의 웹서버의 주소가 http://www.jinyedge.pe.kr 이고
웹서버의 루트 폴더 이하에 applet 폴더를 복사한 경우라면
http://www.jinyedge.pe.kr/applet/client.html 을 실행합니다. 이때 Edge
chatting의 서버는 웹서버와 동일한 서버에서 실행 중이어야 합니다.


-------------------------------------------------------
4. 환경변수의 변경

- Perl 서버의 경우
Option.pm에 있는 다음의 항목을 수정할 수 있습니다.

my $server_name = "Jinyedge chatting server";
my $lang = "ko"; #en = english, ko = korean
my $addr = ""; #default = all addresses
my $port = 8040;
my $r_limit = 20; #limit of room
my $g_limit = 200; #limit of connection
my $tap = 1; #if you want to know what they are talking set this flag as 1.
my $log = 1; #write log file = 1, don``t write log file = 0

$server_name: 서버의 이름입니다.

$lang: 언어를 선택합니다. 한국어와 영어로 서버의 메시지를 출력할
수 있습니다. ko는 한국어이고 en은 영어입니다.

$addr: 서버의 주소입니다. 아무값도 부여하지 않으면 자동으로 현재
시스템에서 사용 가능한 모든 IP 주소를 사용합니다.

$port: 서버의 포트입니다.

$r_limit: 대화방을 만들 수 있는 한계입니다.

$g_limit: 접속 허용 한계입니다.

$tap: 사용자들의 대화내용을 콘솔에 출력할지 말지를 결정하는 옵션입
니다. 1은 on이고 0은 off입니다.

$log: 사용자들의 대화내용을 로그파일에 기록할지 말지를 결정하는 옵
션입니다. 1은 on이고 0은 off입니다.


- C++ 서버의 경우
option.txt에 있는 다음의 항목을 수정할 수 있습니다.

$server_name = "Jinyedge``s chatting server"
$addr = ""
$port = "8040"
$r_limit = "20"
$g_limit = "200"
$tap = "1"
$log = "1"

각 변수의 의미는 Perl 버전과 동일합니다.


- 클라이언트 경우
처음 실행하는 경우 접속 주소와 포트는 각각 127.0.0.1과 8040입니
다. 이 접속정보를 수정하려면 edge_chatting.html을 편집하십시오.
param 태그의 server_addr, server_port의 값을 변경하면 됩니다.

애플릿의 경우는 보안제약이 있으므로 항상 다운로드된 서버로 접속
을 해야 합니다. 따라서 채팅서버의 주소와 이곳에 입력하는 주소는
일치해야 합니다.


-------------------------------------------------------
5. 리눅스 환경에서 서버를 데몬으로 실행하는 방법

main.pl 을 실행하여 서버를 시작하는 경우는 현재 연결 중인 터미널이
종료되면 서버도 같이 종료됩니다. 현재 연결 중인 터미널이 종료된 이
후에도 서버를 동작을 계속 유지하고 싶다면 시작 스크립트를 사용하는
방법이 있습니다. Edge chatting 의 압축파일 안에는 start, stop, restart
스크립트가 있습니다. 이 세 파일에 모두 실행권한을 주고 서버의 시작
시에는 start, 중지시에는 stop, 재시작에는 restart를 사용하십시오.


-------------------------------------------------------
6. 기능과 명령어

- 로비 명령어
/H = 도움말, /L = 대화방 리스트, /O = 대화방 만들기
, /J {대화방 번호} = 대화방 입장 , /A = 접속자 명단
, /F {대화명} = 접속자 찾기
,/N {새 대화명} = 대화명 바꾸기, /CLS = 화면 지우기

- 대화방 명령어
/H = 도움말, /L = 대화방 리스트, /O = 대화방 만들기
, /I {대화명} = 초청하기, /A = 접속자 명단
, /F {대화명} = 접속자 찾기,/N {새 대화명} = 대화명 바꾸기
, /R = 대화방 정보, /CLS = 화면 지우기

- 방장 명령어
/K {대화명} = 강제퇴장, /P = 비밀번호 변경, /S = 주제 변경
, /LM = 허용인원 변경, /D = 비밀번호 삭제(공개 대화방으로 변경)

 

 

홈페이지바로가기 

Comments