메뉴 건너뛰기

넷서버 사용 팁/강좌

강좌 Ch6. 채팅서버 프로그램의 제작

admin 2008.01.24 19:30 조회 수 : 3060

Ch6. 채팅서버 프로그램의 제작

다음은 채팅서버를 만드는 과정입니다. 이 장에서는 간단하게 다음의 기능만 추가하도록 합니다.

서버는 다음의 기능을 수행합니다.

- 사용자가 연결하거나 연결을 끊을 때 모든 사용자에게 브로드캐스팅을 합니다.

- 특정 사용자에게 귀속말을 하거나 메시지를 전달할 수 있습니다.(넷서버에서 구현이 되어 있으므로 서버에서 별도의 구현이 필요없습니다.)

- 특정 사용자가 연결할 때 기존에 동일한 id로 연결한 사용자가 있으면 해당 클라이언트는 강제로 죽입니다.

 

1. 새 프로젝트를 시작하고 메인유닛을 uMain으로 저장하고 프로젝트를 chatServer로 저장합니다.

 

2. 서버의 속성을 아래와 같이 설정합니다. db는 일단 사용하지 않는 것으로 합니다.

3, uMain의 uses에 nsUserbase와 nsParams를 추가합니다. 이 두 개의 유닛은 서버에서 이벤트를 사용할 때 가장 자주 사용되는 유닛들입니다.

 

4. NetServer1.OnUserLogin에서 다음과 같이 코딩을 해 줍니다.

위의 코드는 2가지 역할을 합니다. 이전에 동일한 id의 사용자가 로그인하고 있으면 해당 사용자의 연결을 강제로 끊습니다.

특정사용자가 로그인한 사실을 모든 사용자에게 브로드캐스팅을 합니다.

사용자목록에 관련한 함수는 NetServer의 자체메소드를 사용합니다.

 

5.NetServer1.OnDisconnect에서 다음과 같이 구현을 합니다. 이 구현은 연결할 때와 마찬가지로 특정사용자의 연결이 끊기는 것도 전체 사용자에게 알려줍니다.

 

6.Form.OnCreate에서 폼이 시작될 때 서버가 시작되도록 하고 OnClose에서 서버를 중단합니다.

 

서버프로그램을 실행하고 이 프로그램으로 연결을 하고 메시지를 전송해 볼 수 있습니다. 동일한 id의 사용자가 이미 존재하는 경우 이전의 사용자의 연결은 강제로 끊어집니다.

프로그램소스다운받기

번호 제목 글쓴이 날짜 조회 수
공지 이전게시판의 질문과답변 및 사용팁 메뉴얼관련 링크 admin 2008.01.23 4443
공지 넷서버 동영상 강좌 admin 2008.01.23 3852
공지 넷서버 소개문서 넷서버 2008.01.19 5039
31 midaslib를 추가해 주십시오 admin 2015.08.19 215
30 XE2 이후 unit scope table admin 2014.02.28 1657
29 Java 1.6버젼과 windows server 2008 r2 문제 admin 2011.12.13 3657
28 넷서버 에러코드 및 설명 admin 2011.06.04 4752
27 윈도우서버 2008 R2에서의 닷넷의 문제 admin 2010.05.27 16496
26 패키지의 설치시 폴더의 설정 admin 2009.03.17 5735
25 XP모드에서 TPanel의 Color 사용방법 admin 2008.05.23 4414
24 FibPlus에서 Boolean 필드사용방법 admin 2008.03.18 11436
23 SQLite의 사용상의 주의 admin 2008.02.28 4307
22 디버그컴포넌트(MaxExcept, EurekaLog...)의 사용시 유의사항 admin 2008.02.16 5042
21 Open Source ODBC DBX Driver admin 2008.02.05 3311
20 넷서버의 설치 방법 admin 2008.01.24 4773
19 [동영상] 넷서버 클라이언트 프로그램의 제작 admin 2008.01.24 2974
18 [동영상] 넷서버 서버의 제작 admin 2008.01.24 2650
17 Ch7. 채팅클라이언트 프로그램의 제작 admin 2008.01.24 3107
» Ch6. 채팅서버 프로그램의 제작 admin 2008.01.24 3060
15 ch 5. 비즈니스오브젝트를 클라이언트에서 사용하기 admin 2008.01.24 2651
14 ch 4. 비즈니스오브젝트의 작성-서버 admin 2008.01.24 4397
13 ch 3.메세지클라이언트의 제작 admin 2008.01.24 4471
12 ch 2. 간단한 클라이언트프로그램의 제작 admin 2008.01.24 2890
위로