Q&A

  • Socket.sendBuf() 했는데 데이터가 안가요...
안녕하세요..
채팅 프로그램 만들어 볼려구 하는데요...
밑에 소스와 같이 코딩했는데.. 데이터가 안날아갑니다.

procedure TForm2.Button1Click(Sender: TObject);
var
  MsgBuf : array [0..1023] of char;
  MsgLine : String;
begin
  MsgLine := '['+Main.M_ID+']'+' : '+Edit1.Text;
  RichEdit1.Lines.Add(MsgLine);

  StrCopy(MsgBuf, PChar(MsgLine));

  try
    CSock.Socket.SendBuf(MsgBuf, sizeof(MsgBuf));
  except
    showMessage('error');
    RichEdit1.Lines.Add('Can''t write this Message');
    RichEdit1.Lines.Add(Edit1.text);
  end;
  Edit1.Text := '';
  Edit1.setFocus;
end;

소켓은 분명 연결 되어있거든요.. 근데 메세지가 안날아갑니다..
소켓으 onWrite 이벤트에
showMessage('write');
이거 한줄 추가해봤거든요.. 근데 이 메세지도 뜨지 않습니다..
코드는.. 맞는거 같은데.. 왜 .. 안되는건지... 모르겠습니다..
부탁드립니다..
1  COMMENTS
  • Profile
    이경문 2002.04.21 03:35
    ScktComp Unit을 살펴 보면 알겠지만
    OnWrite는 Send되었을 때 발생하는 이벤트는 아니고 Send가 제대로 되지 않았을 때 발생하는 이벤트입니다.
    그러므로, 제대로 data가 send되었는지 않았는지에 대한 것은 OnWrite로 살펴 볼 수는 없겠지요.