Они устарели в пользу разъемов Indy.
Однако сокеты Indy доступны только для блокировки.Если ваша программа использовала блокирующие сокеты, то это нормально, однако если вы используете неблокирующие сокеты, то, насколько мне известно, у вас есть только два варианта:
- использовать потоки плюс блокирующие сокеты Indy
- использовать TClientSocket и TServerSocket
Существуют компоненты TTcpServer
и TTcpClient
, которые имеют переключение между блокированием и неблокированием.Однако, если вы работаете с ними в неблокирующем режиме, они просто не работают (основные операции завершаются неудачно с WSAEWOULDBLOCK) и обходного пути нет.
Примечание для тех, кто читает это, кто может не знать: даже вВ последних версиях (как я пишу) вы все равно можете импортировать их в IDE, добавив dclsocketsNNN.bpl
в список пакетов времени разработки.Они там, просто не активны по умолчанию.
Лично я все еще использую TClientSocket в неблокирующем режиме на производстве, он работает просто отлично (после исправления некоторых ошибок, что возможно благодаря тому, что полный исходный кодпредоставляется!)