Мы создаем 2 соединения между сервером Java и клиентом C ++. Объект Java ServerSocket вызывает accept () дважды, и каждый возвращает 1 сокет; клиент C ++ дважды вызывает connect (). Мы предполагаем, что порт 1-го сокета, возвращаемый функцией accept (), должен быть таким же, как порт первого клиентского сокета, вызывающего connect (), и таким же для сокетов 2-й пары.
Но, исследуя номер порта на каждом сокете, я иногда видел ненормальный случай, когда 1-й сокет из accept () подключается ко 2-му клиентскому сокету, вызывающему connect (), а 2-й сокет из accept () подключается к 1-му клиентскому сокету. .
И сервер, и клиент здесь однопоточные для установления соединения. Как можно изменить последовательность?