In some protocols when a message is received it is necessary to send a reply to the address and port to the source location (ip, port) of the received message. This can be achieved following one of the above approaches:
1) use common port numbers e.g. 1 for advs, 1 for responses
2) Add the information to the message, rather than as a parameter of the datagram - hence, it is a new field in the msg (header or body). This retains the syntax of the interface.
However some protol's design does not consider the use of common ports, or include sender location information inside datagrams. Hence If we want to implement a protocol without having to change the original protocol specification an additional method in the IUnicast interface is required:
Send(sourceURL, destURL, ....)
this will allow the method to select the socket created for an a specific URL and send the information using it.