簡體   English   中英

如何從MySQL JDBC驅動程序獲取客戶端本地套接字端口?

[英]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

因此,如果您設法將ConnectionConnectionImpl (尚未檢查),則可以執行以下操作:

ConnectionImpl impl = (ConnectionImpl)con;
Socket sock = impl.getIO().mysqlConnection;
int localPort = sock.getLocalPort();

祝好運。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM