日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

某人想在h小时内钓到_为某人命名以重新连接到您的服务器

發(fā)布時(shí)間:2023/12/3 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 某人想在h小时内钓到_为某人命名以重新连接到您的服务器 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

某人想在h小時(shí)內(nèi)釣到

在進(jìn)行測試自動化時(shí),通常需要知道當(dāng)前計(jì)算機(jī)的名稱,以提示另一臺計(jì)算機(jī)連接到它,特別是在并行運(yùn)行測試的情況下。 本周,我試圖對服務(wù)器進(jìn)行測試,以使其連接回在從屬測試計(jì)算機(jī)上運(yùn)行的WireMock服務(wù)器。

堆棧溢出的標(biāo)準(zhǔn)響應(yīng)是使用以下模式獲取網(wǎng)絡(luò)地址。 在我的版本中,如果我們無法解析名稱,則假設(shè)我們正在VPN上的開發(fā)人員便攜式計(jì)算機(jī)上運(yùn)行,??因此所有測試都在同一臺計(jì)算機(jī)上運(yùn)行。 (因此localhost)

String hostName = "localhost"; try {InetAddress addr = InetAddress.getLocalHost();String suggestedName = addr.getCanonicalHostName();// Rough test for IP address, if IP address assume a local lookup// on VPNif (!suggestedName.matches("(\\d{1,3}\\.?){4}") && !suggestedName.contains(":")) {hostName = suggestedName;} } catch (UnknownHostException ex) { }System.out.println(hostName);

問題來了,我們必須信任本地計(jì)算機(jī)設(shè)置,例如/ etc / hostname,這可能導(dǎo)致無法從另一臺計(jì)算機(jī)訪問的網(wǎng)絡(luò)名稱。 為了解決這個(gè)問題,我編寫了以下代碼,以在可用的網(wǎng)絡(luò)接口上工作,以找到可用于與本機(jī)對話的可遠(yuǎn)程尋址的網(wǎng)絡(luò)地址名稱。 (我可以使用IP地址,但是很難記住它們,尤其是當(dāng)我們向IPv6邁進(jìn)時(shí))

String hostName = stream(wrap(NetworkInterface::getNetworkInterfaces).get())// Only alllow interfaces that are functioning.filter(wrap(NetworkInterface::isUp))// Flat map to any bound addresses.flatMap(n -> stream(n.getInetAddresses()))// Fiter out any local addresses.filter(ia -> !ia.isAnyLocalAddress() && !ia.isLinkLocalAddress() && !ia.isLoopbackAddress())// Map to a name.map(InetAddress::getCanonicalHostName)// Ignore if we just got an IP back.filter(suggestedName -> !suggestedName.matches("(\\d{1,3}\\.?){4}")&& !suggestedName.contains(":")).findFirst()// In my case default to localhost.orElse("localhost");System.out.println(hostName);

您可能會注意到那里使用了一些支持方法來整理代碼,如果您感興趣的話,這里是必需的支持方法。

@FunctionalInterface public interface ThrowingPredicate<T, E extends Exception>{boolean test(T t) throws E; }@FunctionalInterface public interface ThrowingSupplier<T, E extends Exception>{T get() throws E; }public static <T, E extends Exception> Predicate<T> wrap(ThrowingPredicate<T, E> th) {return t -> {try {return th.test(t);} catch (Exception ex) {throw new RuntimeException(ex);}}; }public static <T, E extends Exception> Supplier<T> wrap(ThrowingSupplier<T, E> th) {return () -> {try {return th.get();} catch (Exception ex) {throw new RuntimeException(ex);}}; }// http://stackoverflow.com/a/23276455 public static <T> Stream<T> stream(Enumeration<T> e) {return StreamSupport.stream(Spliterators.spliteratorUnknownSize(new Iterator<T>() {public T next() {return e.nextElement();}public boolean hasNext() {return e.hasMoreElements();}},Spliterator.ORDERED), false); }

翻譯自: https://www.javacodegeeks.com/2016/06/getting-name-someone-connect-back-server.html

某人想在h小時(shí)內(nèi)釣到

總結(jié)

以上是生活随笔為你收集整理的某人想在h小时内钓到_为某人命名以重新连接到您的服务器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。