我正在創建一個FTP服務器。根據FTP規範,他們添加了一個名爲LPRT的新命令。如何從LPRT ftp命令獲取IPv6
它的格式是LPRT 6,16,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,2,193,160
現在我能夠使用下面的邏輯從它獲得FTP端口。但是我也需要這個字符串的IPV6地址。
public static void main(String[] args) {
StringTokenizer st = new StringTokenizer(
"6,16,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,2,193,160");
final String portStr = st.nextToken();
final int lastDelimIdx =portStr.lastIndexOf(',', portStr.lastIndexOf(',') - 1);
final StringTokenizer portst = new StringTokenizer(portStr.substring(lastDelimIdx + 1, portStr.length()), ",");
final int p1 = Integer.parseInt(portst.nextToken());
final int p2 = Integer.parseInt(portst.nextToken());
final int dataPort = (p1 << 8) | p2;
System.out.println(dataPort);
}
有人可以幫我找到這個字符串的IPv6地址。
是的,你說得對,但是我們的實施說明如果EPRT失敗,那麼使用LPRT因此我們必須使用它 –
我檢查了這個鏈接,但是不幸的是,我沒有找到他們如何代表IPv6格式 –
@ShowStopper:我認爲這很清楚,但看到編輯問題中的示例。 –