안녕하세요
소켓 프로그램을 만들고 있는데..
막히는 부분이 있어서 질문을 올립니다.
델파이를 첨 해보는거라..좀 생소해서 그런지..쉬운부분인것 같은데 해결이 안되네요.
우선 서버는 비베로 만들어 사용하고 있습니다.
클라인 언트를 델파이로 만드는데..델파이 7을 사용하고 있습니다.
소켓 연결하고 메세지 전송을 하고..
서버에서 전송하는 메세지 받는 부분까지 하고 있는데
도대체 메세지를 받질 못하네요..
아예 TcpClient1Receive 이벤트가 실행이 되질 않네요.
서버에서 메세지 전송을 못하는것 아닌가 해서 클라이언트를 비베, 비씨, 자바로 만들어 봐도 잘 받습니다.
서버에서 전송을 못하는 문제는 아닌듯 싶은데..
혹시 다른 설정 부분이나..버그 같은 부분이 있음 알려주시면 고맙겠습니다.
소스는 아래와 같습니다.
procedure TForm1.Button1Click(Sender: TObject);
begin
tcpclient1.RemoteHost := '192.168.1.101';
tcpclient1.RemotePort := '9999';
tcpclient1.Connect;
edit1.Text := 'connected';
end;
procedure TForm1.TcpClient1Receive(Sender: TObject; Buf: PAnsiChar;
var DataLen: Integer);
var
p_str : string;
begin
// tcpclient1.Receiveln(p_str);
// edit1.Text := p_str;
edit1.Text := 'Receiving Data';
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
TCPclient1.Sendln('message')
end;
procedure TForm1.TcpClient1Error(Sender: TObject; SocketError: Integer);
begin
edit1.text :='error Num : ' + inttostr(SocketError);
end;
procedure TForm1.TcpClient1Send(Sender: TObject; Buf: PAnsiChar;
var DataLen: Integer);
begin
edit1.Text := 'Sending Data';
end;
무조건 연결후 연결되었다고 믿지마시구, 이 이벤트들을 이용하시는게 좋을 듯합니다