Коротка відповідь:
Йдемо за даною тут відповіддю . Ви можете прослуховувати дві програми на одній і тій же IP-адресі та номері порту, тому довгий один порт - це порт UDP, а інший - порт TCP.
Пояснення:
Поняття порту є релевантним на транспортному шарі стеку TCP / IP, таким чином, доки ви використовуєте різні протоколи транспортного рівня стека, ви можете мати кілька процесів прослуховування в одній <ip-address>:<port>
комбінації.
Одно сумніви у людей є, якщо два додатки працюють на одній <ip-address>:<port>
комбінації, як клієнт, який працює на віддаленій машині, розрізнятиме їх? Якщо ви подивитеся на заголовок пакету IP-шару ( https://en.wikipedia.org/wiki/IPv4#Header ), ви побачите, що біти 72 до 79 використовуються для визначення протоколу, саме так можна розрізнити.
Якщо ви хочете мати дві програми на одній <ip-address>:<port>
комбінації TCP , відповідь - ні. Цікавою вправою буде запустити два VM, дати їм однакову IP-адресу, але різні MAC-адреси, і подивіться, що станеться - ви помітите, що кілька разів VM1 отримає пакети, а в інший раз VM2 отримає пакети - залежно від оновлення кешу ARP).
Я відчуваю, що, зробивши два додатки, які працюють на одній і тій же, <op-address>:<port>
ви хочете досягти певного балансування навантаження. Для цього ви можете запускати програми на різних портах і писати правила таблиці IP для роздрібнення трафіку між ними.
Також дивіться відповідь @ user6169806