Это известная ошибка в KB957924 накопительном обновлении Microsoft Visual Basic 6.0 с пакетом обновления 6 ( ссылка ) как в v1, так и в май 2009 v2.Вот почему некоторые люди могут дублировать его, а некоторые нет.Он также ограничен вторым и последующим использованием элемента управления.
Это обсуждается здесь .
В качестве действительно уродливого обходного пути вы можете вызвать recvfrom
вwsock32.dll
lib с sockMain.SocketHandle
, небольшим буфером и параметром MSG_PEEK
(&H2
) для непосредственного получения адреса сокета.Это необходимо сделать перед вызовом sockMain.GetData()
.Затем вы должны разобрать IP-адрес самостоятельно.Я могу опубликовать код, который делает это для конкретного случая, который я использую (UDP), если требуется.
Я не уверен, что он будет работать в вашем случае, так как похоже, что вы используете TCP и Accept.