TCP also has port abstraction - a TCP connection goes between two ports. To set up a TCP connection, use a three-way handshake. Initiator sends a request, receiver sends an ACK, then sender sends back an ACK to establish connection. Can close a TCP connection. Typically, use a client-server architecture.
Client allocates a local port number and sends it to server at well-known port.
Server will communicate with client using the allocated local port number. When server gets request, it allocates its own local port number and spawns a process to provide service. The process connects up with client over the local ports. Client and spawned server process communicate over the established connection. Almost all Internet services done this way.