Мне любопытно, возможно ли сопоставить сокет UNIX с сокетом INET. Ситуация просто в том, что я хотел бы подключиться к серверу MySQL. К сожалению, у него отключены сокеты INET, и поэтому я могу подключаться только к сокетам UNIX. Инструменты, которые я использую/пишу, должны подключаться к сокету INET, поэтому я пытаюсь посмотреть, смогу ли я сопоставить один с другим.
Потребовалось немало поисков, но я нашел socat, который якобы делает то, что я м ищу. Мне было интересно, есть ли у кого-нибудь предложения о том, как это сделать. Командная строка, которую я использовал (с частичным успехом):
socat -v UNIX-CONNECT:/var/lib/mysql/mysql.sock TCP-LISTEN:6666,reuseaddr
Теперь я могу подключаться и разговаривать с сервером. К сожалению, любые попытки создания нескольких соединений терпят неудачу, так как мне нужно использовать опцию fork, но эта опция, похоже, делает соединения нефункциональными.
Я знаю, что могу решить эту проблему с помощью Perl (я предпочитаю язык), но я бы предпочел не писать всю реализацию самостоятельно. Я знаком с библиотеками IO::Socket, я просто надеюсь, что у кого-нибудь есть опыт в подобных вещах. Открыт для предложений/идей.
Спасибо.