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
[15938] Re:쓰레드(Thread)를 이용해서 프로그램을 수정하고 싶은데 한번만 봐주세요.
gomsun2 [vhrvnd723] 1769 읽음    2017-10-31 13:58
Winsock직접 제어 보다, TTcpClient가 여러모로 편리합니다. http://blog.hjf.pe.kr/343
https://www.delmadang.com/community/bbs_view.asp?bbsNo=18&bbsCat=0&indx=435202&page=3# 에 잘 나와 있습니다.


황장군와우 님이 쓰신 글 :
: 현재 멀티캐스트로 데이터를 받아서 처리하는것을 돌리는 중입니다.
: 그런데 지금 현재는 하나의 프로세서로 돌리고 있는데 물론 각 라인마다 각각의 다른데이터가 날라옵니다.
: 처리하는 부분은 같은데 함수로 만들어 놨는데 각각이 공유해서 쓰지는 않지만 처리하는거는 동일합니다.
:
: 지금 소스가
: unit Unit1;
:
: interface
:
: uses
:   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms
:   ;
:
: const
:   WM_SOCK1 = WM_USER + 1;
:   UDPPORT1 = 18500;
:   MY_GROUP1 = '255.255.255.0';
:
:   WM_SOCK2 = WM_USER + 2;
:   UDPPORT2 = 18501;
:   MY_GROUP2 = '255.255.255.1';
:
: type
:   ip_mreq = record
:     imr_multiaddr: in_addr;  (* IP multicast address of group *)
:     imr_interface: in_addr;  (* local IP address of interface *)
:   end;
:   TIpMReq = ip_mreq;
:   PIpMReq = ^ip_mreq;
:
: type
:   TfrmMain = class(TForm)
:     Button1: TButton;
:    private
:     procedure ReadData1(var Message: TMessage); message WM_SOCK1;
:     procedure ReadData2(var Message: TMessage); message WM_SOCK2;
:    public
:   end;
:
: == 이렇게 한다음 멀티캐스트 등록한다음
: procedure TfrmMain.ReadData1(var Message: TMessage);
: var
:   buffer: Array [1..4096] of char;
:   len: integer;
:   flen: integer;
:   Event: word;
:   value: string;
: begin
:   flen:=sizeof(FSockAddrIn1);
:   Event := WSAGetSelectEvent(Message.LParam);
:   if Event = FD_READ then
:   begin
:       len := recvfrom(s1, buffer, sizeof(buffer), 0, FSockAddrIn1, flen);
:       value := copy(buffer, 1, len);
:
:       aaa(value);
:
:   end;
: end;
:
: == 위와같이 사용합니다.
:
: 위 프로그램처럼 할때 데이터를 받아서 처리하는 aaa를 쓰레드로 만들어야 하나요 아님 멀티캐스트 등록하는것을 쓰레드로 만들어야 하나요?
:
: 다들 쓰레드를 사용해서 해야 각각이 데이터를 받아서 처리 한다던데.
: 어느부분을 쓰레드로 만들어야 할지를 모르겠습니다.
:
: 조언 부탁합니다.

+ -

관련 글 리스트
15936 쓰레드(Thread)를 이용해서 프로그램을 수정하고 싶은데 한번만 봐주세요. 황장군와우 1575 2017/10/23
15938     Re:쓰레드(Thread)를 이용해서 프로그램을 수정하고 싶은데 한번만 봐주세요. gomsun2 1769 2017/10/31
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.