java.net.Inet4Address 代码实例
来源:互联网 发布:java web 单元测试 编辑:程序博客网 时间:2024/05/16 04:11
java.net.Inet4Address 代码实例
以下是展示如何使用java.net.Inet4Address的最佳示例。 我们使用了代码质量辨别算法从开源项目中提取出了最佳的优秀示例。
实例 1
package io.hydrosphere.mist.utilsimport java.net.{Inet4Address, InetAddress, NetworkInterface}import scala.collection.JavaConverters._object NetUtils { def findLocalInetAddress(): InetAddress = { val address = InetAddress.getLocalHost if (address.isLoopbackAddress) { val activeNetworkIFs = NetworkInterface.getNetworkInterfaces.asScala.toList for (ni <- activeNetworkIFs) { val addresses = ni.getInetAddresses.asScala.toList .filterNot(addr => addr.isLinkLocalAddress || addr.isLoopbackAddress) if (addresses.nonEmpty) { val addr = addresses.find(_.isInstanceOf[Inet4Address]).getOrElse(addresses.head) val strippedAddress = InetAddress.getByAddress(addr.getAddress) return strippedAddress } } } address }}
实例 2
package com.bwsw.sj.examples.sflow.module.process.udfimport java.net.{Inet4Address, Inet6Address, InetAddress}import com.bwsw.sj.common.DAL.repository.ConnectionRepositoryimport com.bwsw.sj.common.utils.ConfigSettingsUtilsimport com.maxmind.geoip.LookupServiceimport org.slf4j.LoggerFactoryobject GeoIp { private val logger = LoggerFactory.getLogger(this.getClass) private val fileStorage = ConnectionRepository.getFileStorage private lazy val ipv4AsNumLookup = getAsLookupServiceIpv4 private lazy val ipv6AsNumLookup = getAsLookupServiceIpv6 def resolveAs(ip: String): Int = { try { InetAddress.getByName(ip) match { case _: Inet4Address => if (ipv4AsNumLookup.getID(ip) != 0) ipv4AsNumLookup.getOrg(ip).split(" ")(0).substring(2).toInt else 0 case _: Inet6Address => if (ipv6AsNumLookup.getID(ip) != 0) ipv6AsNumLookup.getOrgV6(ip).split(" ")(0).substring(2).toInt else 0 } } catch { case _: java.net.UnknownHostException => throw new Exception( s"""resolveAs error: "$ip" isn't correct ip address""") case _: com.maxmind.geoip.InvalidDatabaseException => logger.error( s"""resolveAs error: "$ip" com.maxmind.geoip.InvalidDatabaseException""") 0 } } private def getAsLookupServiceIpv4 = { val geoIpFileName = ConfigSettingsUtils.getGeoIpAsNumFileName() createLookupService(geoIpFileName) } private def getAsLookupServiceIpv6 = { val geoIpFileName = ConfigSettingsUtils.getGeoIpAsNumv6FileName() createLookupService(geoIpFileName) } private def createLookupService(filename: String) = { val databaseFile = fileStorage.get(filename, filename) new LookupService(databaseFile) }}
实例 3
package refined.guava.netimport java.net.{Inet4Address, Inet6Address}import com.google.common.net.{InetAddresses, InternetDomainName, MediaType}import eu.timepit.refined.api.Validateimport refined.guava.net.net.{DNS, IP, IPv4, IPv6, Media}object net extends NetValidate { case class IP() case class IPv4() case class IPv6() case class DNS() case class Media()}private[net] trait NetValidate { implicit def ipValidate: Validate.Plain[String, IP] = Validate.fromPartial(InetAddresses.forString, "IP Address", IP()) implicit def ipv4Validate: Validate.Plain[String, IPv4] = Validate.fromPredicate( str => InetAddresses.forString(str).isInstanceOf[Inet4Address], str => s"$str is not an IPv4 Address", IPv4()) implicit def ipv6Validate: Validate.Plain[String, IPv6] = Validate.fromPredicate( str => InetAddresses.forString(str).isInstanceOf[Inet6Address], str => s"$str is not an IPv6 Address", IPv6()) implicit def dnsValidate: Validate.Plain[String, DNS] = Validate.fromPartial(InternetDomainName.from, "DNS name", DNS()) implicit def mediaValidate: Validate.Plain[String, Media] = Validate.fromPartial(MediaType.parse, "MediaType", Media())}
阅读全文
0 0
- java.net.Inet4Address 代码实例
- .net事件实例代码
- ADO.NET实例代码
- ASP.net AJAX代码实例。
- ASP.net AJAX代码实例
- ASP.net AJAX代码实例
- java.net.HttpURLConnection 实例
- JAVA分页代码实例
- JAVA分页代码实例
- java经典实例代码
- Java分页代码实例
- Java经典实例代码
- Java死锁实例代码
- Kafka java实例代码
- JAVA死锁代码实例
- java 代码实例
- vb.net视觉--vb.net代码实例
- Java网络编程从入门到精通(10):Inet4Address类和Inet6Address类
- Python系列-入门练习
- Java NIO系列教程(7):FileChannel
- muduo库源码学习(base)CountDownLatch
- PBCH (Physical Broadcast Channel)
- 微信支付:授权回调地址校验错误,错误码10003
- java.net.Inet4Address 代码实例
- nodejs常用模块
- 几种色彩模式简介
- Java的IO流--BufferedReader和BufferedWriter,BufferedInputStream和BufferedOutputStream
- Crazepony开源四轴飞行器
- 10.25作业,关于数组的题目
- eclipse运行android project报错com/android/dx/command/dexer/Main : Unsupported major.minor version 52.0
- express-generator
- BZOJ 1085 浅谈迭代加深式法则及Astar启发式搜索路径诱导