Почти, но не совсем правильно.
Сокеты - это программная конструкция с буферами (каждый сокет имеет отдельные очереди отправки и получения). Для TCP каждое соединение использует отдельный сокет.
Порты - это только числовые метки, используемые для демультиплексирования - помогая ОС выбирать, какой сокет (или какой приемный буфер) должен принимать входящий пакет.
Каждый сокет связан с несколькими параметрами - протоколом, локальными и удаленными адресами, локальными и удаленными портами - и все они используются при поиске полученного пакета. (Когда адреса идентичны, хотя бы один из портов должен быть другим. Но если адреса разные, то несколько сокетов могут использовать одинаковые порты.)