本文整理汇总了Java中java.net.NetworkInterface.getMTU方法的典型用法代码示例。如果您正苦于以下问题:Java NetworkInterface.getMTU方法的具体用法?Java NetworkInterface.getMTU怎么用?Java NetworkInterface.getMTU使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类java.net.NetworkInterface
的用法示例。
在下文中一共展示了NetworkInterface.getMTU方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getMSS
import java.net.NetworkInterface; //导入方法依赖的package包/类
private int getMSS(SocketChannel sc) {
int retMSS = Config.NETWORK_BUFF_LEN_SIZE;
try {
final InetAddress ia = sc.socket().getLocalAddress();
NetworkInterface ni = NetworkInterface.getByInetAddress(ia);
int mss = ni.getMTU() - 40;
if (mss > 1000) {
retMSS = mss;
}
} catch (Throwable t) {
if (logger.isLoggable(Level.FINE)) {
logger.log(Level.FINE, "Cannot determine MTU for socket channel: " + sc);
}
}
return retMSS;
}
示例2: getMaximumTransferUnit
import java.net.NetworkInterface; //导入方法依赖的package包/类
/**
* @return the maximum transfer unit of the network interface binded to the
* localhost.
*/
public static int getMaximumTransferUnit() {
try {
return NetworkInterface.getByInetAddress(InetAddress.getLocalHost()).getMTU();
} catch (Throwable throwable) {
try {
/*
* We failed to get the NetworkInterface, we're gonna have to
* cycle through them manually and choose the lowest one to make
* sure we never exceed any hardware limitations
*/
boolean foundDevice = false;
int lowestMaximumTransferUnit = Integer.MAX_VALUE;
for (Enumeration<NetworkInterface> networkInterfaces = NetworkInterface
.getNetworkInterfaces(); networkInterfaces.hasMoreElements(); ) {
NetworkInterface networkInterface = networkInterfaces.nextElement();
int maximumTransferUnit = networkInterface.getMTU();
if (maximumTransferUnit < lowestMaximumTransferUnit
&& maximumTransferUnit >= RakNet.MINIMUM_TRANSFER_UNIT) {
lowestMaximumTransferUnit = maximumTransferUnit;
foundDevice = true;
}
}
// This is a serious error and will cause startup to fail
if (foundDevice == false) {
throw new IOException("Failed to locate a network interface with an MTU higher than the minimum ("
+ RakNet.MINIMUM_TRANSFER_UNIT + ")");
}
return lowestMaximumTransferUnit;
} catch (Throwable throwable2) {
throwable2.printStackTrace();
return -1;
}
}
}