我有一个Java应用程序,我用"com.mysql.jdbc.Driver"
连接到mySQL服务器。
建立连接后,我需要客户端本地端口。这意味着Java应用程序从MySQL服务器接收数据的端口。
在建立连接后,有没有办法在我自己的源代码中接收它?
我尝试了java.sql.DatabaseMetaData
中的所有信息。
答案 0 :(得分:0)
MySQL Connector/J there's sources on github。
连接到MySQL服务器的实际Socket在MysqlIO
中定义为
public Socket mysqlConnection = null;
班级ConnectionImpl
包含一个吸气剂:
public MysqlIO getIO() throws SQLException
因此,如果您设法将Connection
转换为ConnectionImpl
(尚未检查过),您可以这样做:
ConnectionImpl impl = (ConnectionImpl)con;
Socket sock = impl.getIO().mysqlConnection;
int localPort = sock.getLocalPort();
祝你好运。