Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[6812] [답변] 다슬/ 다중LAN card 환경에서의 Program
dashform [ ] 827 읽음    1999-11-19 13:29
안녕하세요 좋은생각입니다.
정말 오랜만에 글을 올리는 것같아 어색하기 까지 하네용...~?

보아하니 소켓을 이용한 Client/Server프로그램을 짜시는 듯한데
만약 맞다면 클라이언트에서는 자기자신을 지정할 필요가 없습니다.
즉 자신의 포트와 서버의 포트를 맞추고 서버의 IP만 세트해주면
내부적으로 바이딩이라는 과정을 거처 자신의 IP를 세트한뒤 서버와
연결을 시도합니다.
델파이에 있는 TServerSocket과 TClientSocket을 컴포넌트의 예로 든다면

서버의경우는 먼저 Listen으로 클라이언트의 접속을 기다립니다.
procedure TForm1.Button1Click(Sender: TObject);
begin
  if ServerSocket1.Active then ServerSocket1.Active := False;
  with ServerSocket1 do begin
    ServerSocket1.Port := Strtoint(edtPort.text);//클라이언트와 같은포트
    Active := True;
  end;
end;

클라이언트의 경우
procedure TForm1.Button14Click(Sender: TObject);
begin
  ClientSocket1.Port := strToInt(Trim(edtPort.Text));//서버와 같은포트
  ClientSocket1.Host := Trim(edtHostIp.Text);//서버주소
  ClientSocket1.Active := True;//서버와 연결
end;

이게 전부입니다.
즉 클라이언트가 다른 어떤 PC에 있든 상관이 없고 포트와 서버의 주소만
클라이언트에서 신경을 쓰면 된다는 애기죠....
연결후는 서버와 정보를 그냥 주고 받으면 됩니다.
이부분은 생략하겠습니다.

좀더 자세한 제어를 하고 싶다면이 TServerSocket과 TClientSocket의 소스를
델파이에서 제공해주고 있으니 참고하시구요...
여담으로 소켓프로그래밍은 DB프로그래밍만큼이나 기본은 정형화되어 있다고
보시면 됩니다. 연결하고 끊고 하는 것은 다똑같다는 애기죠..다만 연결한후
어떻게 어떻게 응용하느냐가 다른 거죠..
도움이 되었으면 좋겠내요...의문사항이 있으면 연락을...


                              꿈을 가진 소년 /좋/은/생/각/.....


+ -

관련 글 리스트
6812 [답변] 다슬/ 다중LAN card 환경에서의 Program dashform 827 1999/11/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.