답변 감사합니다.
그런데 제가 ShoeMessage로 추적해본결과
접속이 완전히 끝나고 WriteLn이 호출되는걸 확인했습니다; ㅠㅜㅠ
ㄱㄴ 님이 쓰신 글 :
: 시온스 님이 쓰신 글 :
: :
: : //socket = TIdTCPClient
: :
: : socket->Host = serverIP;
: : socket->Port = serverPort;
: : try{
: : socket->Connect(); // 접속
: : socket->Socket->WriteLn("안녕하세요"); //전송
: : socket->Disconnect(); // 종료
: : }catch(...){}
: :
: :
: :
: :
: :
: : 아주 간단한 코드인데;; 저렇게 전송하면 받는 서버에서는
: :
: : 리시브스트링: ?????
: : 리시브바이트: 3F 3F 3F 3F 3F
: :
: :
: :
: : 저렇게 되네요;
: :
: : 그래서 이상하다 이상하다 해서 utf8로 해보라는 얘기가 있어서 어떻게 하는지몰라서 이렇게 했는데 똑같네요;
: :
: : socket->Socket->WriteLn(UTF8String(Name->Text));
: :
: : 리시브스트링: ?????
: : 리시브바이트: 3F 3F 3F 3F 3F
: :
: :
: :
: :
: : 이거 왜이런건가요 ㅠㅠ
:
: Blocking 소켓인지 Nonblocking 소켓인지 지정할 만한 속성이 안 보이고 OnConnected 이벤트는 있는 것으로 보아 Nonblocking 소켓인듯...
: 따라서, Connect 메서드를 호출하면 연결시도만 하고 바로 리턴하는 것으로 알고 있습니다만,
: 리턴 시 이미 연결되어 있는 경우도 있겠지만 그렇지 않은 경우도 있겠지요.
: 그렇다면 OnConnected 이벤트 핸들러에서 WriteLn 작업을 해야겠지요.
|