누구를 위한 강좌인가?
이 강좌는 델파이를 이용하여 소켓에 기반한 응용 소프트웨어(서버, 클라이언트)를 제작하려는 델파이 프로그래머에게 조금이나마 도움이 되고자 작성되었습니다. 그렇지만 프로그램을 구현하는 방법은 개인마다 선호하는 방법이 다를 수 있고, 제가 아는 지식에 한계가 있으므로 잘못된 부분이 있을 수도 있다는 것은 미리 양해의 말씀 드리겠습니다. 잘못된 코드에 대한 지적이나 강좌를 좀더 풍성하게 해주는 의견은 언제나 환영합니다.
강좌를 할 때 제가 참고한 도서와 컨텐츠는 아래와 같습니다.
Programming Winsock / 인포북
1996년에 초판이 발행되었으니, 급변하는 IT업계에선 무척이나 오래된 책입니다만 Winsock API 에 대해 자세한 설명이 있어 많은 도움이 되었던 책입니다. 물론, 오래된 책이다 보니 Winsock 2.0에서 지원하는 API에 대해선 언급되어 있지 않습니다.
Windows Sockets Network Programming
이 책 역시 Winsock에 대해 잘 다루고 있습니다.
MySQL / SAMS
이번 강좌에서 MySQL을 쓰려고 샀습니다.
http://www.pergolesi.demon.co.uk/prog/threads/ToC.html
쓰레드에 대한 전반적인 내용과 델파이에서 멀티 쓰레딩 프로그램 작성을 위해 알아두어야 할 점에 대해 잘 설명된 문서입니다. 꼭 읽어보실 것을 권합니다.
준비물
이 강좌의 내용을 실습해보려면 몇 가지 준비물을 갖추어야 합니다.
OS
한 PC안에서 채팅 서버, 데이터베이스 서버 그리고 채팅 클라이언트 까지 모두 돌려야 하므로 현재 사용중인 윈도우가 95나 98이라면 가급적 윈도 2000 이상으로 업그레이드 하실 것을 권합니다.
델파이
델파이 강좌이므로 당연하겠지요 ? 델파이는 버전 5, 6, 7 그리고 2005에서도 사용 가능합니다만, 델파이7을 사용하는 것을 가정해서 진행합니다. 델파이의 개발환경에 대해 언급할 필요가 있을 경우에는 델파이 7이 기준입니다. 따라서 델파이에 익숙치 않은 초보자라면 가급적 델파이 7을 사용하실 것을 권합니다.
데이터베이스
회원의 로그인 처리를 위해서는 데이터베이스나 LDAP 등을 사용해야 합니다. 데이터베이스 서버를 MySQL과 Firebird를 놓고 많은 저울질을 했는데 MySQL이 상대적으로 자료를 구하기 쉬운 관계로 MySQL을 사용하기로 결정했습니다(사실, 복잡한 기능은 거의 사용하지 않기 때문에 별 관계는 없습니다).
4.1.7을 다운로드 받아서 설치하면 됩니다.
다운로드 :
http://www.mysql.com
소켓 라이브러리
델파이에는 Indy란 훌륭한 제품이 번들로 기본 제공되고 있고, 소스도 공개된 우수한 라이브러리지만 개인적인 선호도에 따라 Synapse란 라이브러리를 사용할 것입니다.
다운로드 :
http://www.ararat.cz/synapse/files/synasnap.zip
일정
강좌는 현재 계획하기론 총 8회에 걸쳐서 진행할 예정이고, 주중에는 차분히 앉아서 글을 쓸 시간이 없으므로 토, 일요일에 작성해서 일요일 저녁에 업데이트 할 예정입니다.
혹시 개인적인 사정에 의해 약속한 날짜를 지키지 못할 가능성도 있습니다만, 가급적 지키도록 노력하겠습니다. 만약 펑크가 나더라도 너그러이 양해해 주시길 바랍니다.
강좌는 델파이 채널의 Delphi Tutorial에 올라갑니다.
http://delphi.borlandforum.com/impboard/impboard.dll?action=list&db=del_tutorial
오늘 저녁에 전체 강좌의 목차와 1회 강좌를 올리도록 하겠습니다.
2004.11.21 안영제