Q&A

  • 소켓 이벤트중에 ClientWrite가...
이 이벤트는 클라이언트가 receive를 요청하면 실행되는 이벤트 인가요??

그렇다면다음과 같이 코딩했을 때에...

클라이언트가 계속 요청을 하게 되면

계속 문자를 소켓으로 날리게 되는건가요??

아!.. 참고로 stringlist는 전역으로 선언했습니다.

procedure TForm1.ServerClientWrite(Sender: TObject;
Socket: TCustomWinSocket);
var
SendBuf : array of char;
SendResult : widestring;
SendBufLeng : integer;
begin
server.Active := true;

   TransData1.Add(JPTransTable.fieldbyname('JPBarCode').asstring);
   TransData2.Add(JPTransTable.fieldbyname('JPName').asstring);
   TransData3.Add(JPTransTable.fieldbyname('JPGuKuK').asstring);
   TransData4.Add(JPTransTable.fieldbyname('JPDanWe').asstring);

       if JPTransTable.Eof = false then
        begin
           if TransData1.Strings[i] <> '' then
              begin
               SendResult := widestring(TransData1.Strings[i] + '$@' + TransData2.Strings[i] + '$#' + TransData3.Strings[i] + '$%' +TransData4.Strings[i] + '$^' + '$$');
               Socket.sendtext(SendResult);
              end;
        end

       else
           begin
            memo1.Lines.add('**');
            Socket.sendtext('**');
           end;

JPTransTable.Next;
i := i +1;
end;

아! 그리고 하나더... sleep을 주곤 하던데...

이건 정확히 어떤 역할을 하나요? 잠시 대기하는 의미 같기는 한데...

이것이 소켓에 데이터를 날리는데 어떤 역활을 하게 되는 건가요??
0  COMMENTS