Since I have not yet fully understood the correct use of port and interface symbols in component diagrams, a few questions:
I. Imagine a piece of software that wants to use a very special remote registration service over a network (TCP). Messages can be some XML. In this way, the registrar provides an interface that indicates such things as a handshake, XML structure, XML elements, etc., so that the registrar receives the message.

a) Is it correct that this interface can be called "ILoggerProtocol", can the port be named after the service it provides ("logging")?
b) So, the component in my application implements this interface so that it generates a compatible message for the server?
c) Now an interesting thing: for communication, there is an additional library called Network, which provides simple TCP material, so it connects to TCP, sends messages, processes errors, etc. Do I need this class when I just want to emphasize the path from the generated messages to the server? Is MY port then a TCP interface?
d) And when I want to make a complete picture, how can I correctly add the Networking component to the diagram, indicating that ILoggerProtocol is being used, and that it passes through TCP through the Networking component?
II. Ports inside my application: now there are two libraries in which one uses the other; mainly in C / C ++, it will # include another header file:

e) Is this the correct diagram?
f) Do I need ports? If so, what do they actually represent? What names will you give them?
g) Or are there enough lollipops without port symbols?
III. regarding candy:

h) - are these two entries basically the same and interchangeable? I found the name "assembly" for the combined version, so there may be a difference ...