[英]How to obtain the client local socket port from MySQL JDBC driver?
我有一個Java應用程序,通過"com.mysql.jdbc.Driver"
連接到mySQL Server。
建立連接后,我需要客戶端本地端口。 這意味着Java應用程序從MySQL服務器接收數據的端口。
建立連接后,是否可以通過自己的源代碼接收它?
我嘗試了java.sql.DatabaseMetaData
所有信息。
對於MySQL Connector / J,在github上有源 。
連接到MySQL服務器的實際套接字在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();
祝好運。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.