TClientSocket и его метод Open в новом потоке
Добавлено: 29 янв 2011, 00:47
Добрый день всем.
Среда: Borland C++ Builder 6.0
Проблема в следующем:
Есть у меня ClientSocket1.
Я пытаюсь программно завести еще один сокет по его образу и подобию в отдельном потоке, но вдохнуть в него жизнь не выходит (не подключается).
Ставил breakpoint'ы: в onLookup заходит, в onConnecting уже нет.
Свойства ClientSocket1:
сам код:
Среда: Borland C++ Builder 6.0
Проблема в следующем:
Есть у меня ClientSocket1.
Я пытаюсь программно завести еще один сокет по его образу и подобию в отдельном потоке, но вдохнуть в него жизнь не выходит (не подключается).
Ставил breakpoint'ы: в onLookup заходит, в onConnecting уже нет.
Свойства ClientSocket1:
Код: Выделить всё
Active = False
ClientType = ctNonBlocking
Host = 'mireq.z52.ru'
Port = 80
Код: Выделить всё
typedef struct
{
TClientSocket* sock;
...
} TConnection;
DWORD WINAPI going(LPVOID p)
{
...
TConnection* c=new TConnection;
c->sock = new TClientSocket(Form1);
c->sock->Name="csock"+IntToStr((int)c);
c->sock->ClientType= Form1->ClientSocket1->ClientType;
c->sock->Host= Form1->ClientSocket1->Host;
c->sock->Port= Form1->ClientSocket1->Port;
c->sock->Address= Form1->ClientSocket1->Address;
c->sock->Service= Form1->ClientSocket1->Service;
c->sock->OnConnect= Form1->ClientSocket1->OnConnect;
c->sock->OnConnecting= Form1->ClientSocket1->OnConnecting;
c->sock->OnRead= Form1->ClientSocket1->OnRead;
c->sock->OnDisconnect= Form1->ClientSocket1->OnDisconnect;
c->sock->OnWrite= Form1->ClientSocket1->OnWrite;
c->sock->OnError= Form1->ClientSocket1->OnError;
c->sock->OnLookup= Form1->ClientSocket1->OnLookup;
c->sock->Tag=(int)c;
...
c->sock->Open();
}
}
}
...
}