Ports vs Sockets
tl;dr
Ports tend to be networking focused. They are how your computer decides to send the right data to the right place.
Sockets are program/service focused. They are how your software can communicate with others. They include both the IP and port number.
EDIT: It was brought to my attention that yes, FTP may not be the best example here. It uses 2 ports, one to form the connection and one to send the data. For the connection, the client asks the server to connect and authenticates. Once that is authenticated, the FTP server will probe the client to connect using the data port. The idea of sockets on both ends is still applicable. FTP as a service just has more than one binding.
Ещё видео!