ofstream log(m_fileName, ios::out);
log.open(m_fileName, ios::out);
Конструктор открывает файл.
Сразу после этого вторая строка снова пытается записать файл open()
. Это ошибка. Файловый поток std::failbit
установлен, и все последующие операции записи не выполняются.
Контроль библиотека JUDS. Это - библиотека Java Unix Domain Socket...
Проверьте библиотеку JNA. Это - социальная гостиница между чистым Java и собственным кодом
Some searching on the internet has uncovered the following useful-looking library:
http://www.nfrese.net/software/gnu_net_local/overview.html
Writing a socket factory should be easy enough. Once you've done so, you can pass it to your driver THUSLY.(Wayback Link).
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import com.mysql.management.driverlaunched.ServerLauncherSocketFactory;
public class ConnectorMXJTestExample {
public static void main(String[] args) throws Exception {
String hostColonPort = "localhost:3336";
String driver = com.mysql.jdbc.Driver.class.getName();
String url = "jdbc:mysql://" + hostColonPort + "/" + "?"
+ "socketFactory="
+ ServerLauncherSocketFactory.class.getName();
String userName = "root";
String password = "";
Class.forName(driver);
Connection conn = null;
try {
conn = DriverManager.getConnection(url, userName, password);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT VERSION()");
rs.next();
String version = rs.getString(1);
rs.close();
stmt.close();
System.out.println("------------------------");
System.out.println(version);
System.out.println("------------------------");
} finally {
try {
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
ServerLauncherSocketFactory.shutdown(hostColonPort);
}
}
}
Вы можете использовать junixsocket: https://github.com/kohlschutter/junixsocket
Он уже предоставляет код для подключения к MySQL из Java (Connector / J) через сокеты Unix.
Одно большое преимущество по сравнению с другими реализациями состоит в том, что junixsocket использует стандартный Java Socket API.