Ну, це просто.
Socket - це файлова комунікація, і ви не можете отримати доступ до сокета з іншої машини.
З іншого боку, порти відкриті для світу (залежить від конфігурації), і ви можете отримати доступ до mysql з іншої машини за допомогою комбінації хост + порт.
Крім того, наскільки я розумію сокети, вони просто комбінація хост + порт, просто у файловому форматі. Отже, я не бачу чіткої користі у використанні будь-якого з них (стільки ж моїх знань).
Хоча я особисто вважаю за краще використовувати хост + порт, оскільки мій код стає більш гнучким, оскільки я можу перемістити його на іншу машину, не змінюючи сильно.
Скопіюйте вставку зі старої публікації :
Unix-розетки трохи швидші, оскільки у вас немає tcp-overhead. Якщо ви усвідомлюєте, що це втрата продуктивності - це питання завантаження сервера. Якщо у вас не дуже велике завантаження сервера, ви не впізнаєте його.
Якщо ви використовуєте Jails (FreeBSD) або якусь іншу технологію віртуалізації для відділення, наприклад, MySQL-сервера від веб-сервера, ви часто використовуєте налаштування tcp / ip замість сокетів. Однак, правила брандмауера повинні обмежувати доступ.
Вам потрібно з’ясувати, чи піддається вашій системі велике навантаження, щоб розетка була необхідною, або ви можете зосередитись на приємному дизайні системи (роздільні послуги), тоді рішення tcp / ip було б краще.
Тож зробіть довгу відповідь короткою:
Так, є різниця в продуктивності, розетки швидше. Якщо ви не страждаєте від великої завантаженості сервера, просто виберіть те, що краще відповідає дизайну вашої системи.