Data delivery will be done on a per-product port specified in the product announcement messages. I'll also re-iterate things that you MUST implement. The general address is defined for hosts with transient IP addresses. You do not need to implement the general addresses, and your implementation only needs to use IP addresses. The full MFTP protocol defines three ways that clients and servers can interact.
Clients explicitly register or echo their participation in a delivery.
The full MFTP protocol requires that the server and client be able to handle multiple transactions concurrently. Each datagram has a unique sequence number that is used to help de-multiplex the datagrams. Your implementation needs to handle multiple, serial data product deliveries, but it does not need to handle concurrent deliveries. Neither your server or client need to handle concurrent deliveries. This should greatly simplify the development of the client and server.