|
안녕하세요
ActiveX를 사용해서 소켓통신을 하려고 하는데요..
ics 를 사용하고 있구요..
아래와 같이 클래스를 만들어 사용합니다.
그런데 이 클래스를 그냥 폼으로 프로젝트를 생성해서 사용하면 잘되는데
액티브X를 사용하니까 Connected 됐다는 이벤트를 못얻어오고
소켓상태가 connecting 상태에 멈춰있습니다.
Connect 됐다는 메시지를 서버에서 못받는거같은데 서버가 안보내주는건 아니구요..
보내는데 못받는거같습니다.
혹시 왜이런지 아세요?
부탁드립니다.
__fastcall TIWSSocketClient::TIWSSocketClient()
{
WSocket = new TWSocket(NULL);
WSocket->OnSessionConnected = WSocketSessionConnected;
WSocket->OnSessionClosed = WSocketSessionClosed;
WSocket->OnDataAvailable = WSocketDataAvailable;
}
__fastcall TIWSSocketClient::~TIWSSocketClient()
{
delete WSocket;
}
void __fastcall TIWSSocketClient::WSocketSessionConnected(TObject *Sender,
WORD ErrCode)
{
int i = 0; <-- 여기에 break 가 안걸려요... (폼 프로젝트일땐 걸림)
}
//---------------------------------------------------------------------------
void __fastcall TIWSSocketClient::WSocketSessionClosed(TObject *Sender,
WORD ErrCode)
{
}
//---------------------------------------------------------------------------
void __fastcall TIWSSocketClient::WSocketDataAvailable(TObject *Sender,
WORD ErrCode)
{
}
//---------------------------------------------------------------------------
void TIWSSocketClient::Connect(String ip, String port, String proto)
{
bConnected = false;
WSocket->Addr = ip;
WSocket->Port = port;
WSocket->Proto = proto;
WSocket->Connect();
}
void TIWSSocketClient::Close()
{
WSocket->Close();
}
|