簡體   English   中英

路由器中沒有轉發端口的Java程序

[英]Java program without forward port in router

我使用套接字用java制作了應用程序。 我的電腦是服務器,我的手機(android)是客戶端。 我唯一想做的是將字符串從手機轉發到客戶端 PC。

當我配置路由器並打開我使用的端口時,一切正常。 我不想每次客戶安裝我的應用程序時都需要在路由器中打開端口。

我想過使用將運行我的服務器代碼的遠程服務器。 但我沒有找到可以做到這一點的服務器。 我不想讓我的電腦成為所有客戶的服務器。

沒有開放端口,所有聊天公司都是如何做到的?

您必須查看 UPnP。 這是 /most/ 如果不是 /all/ Torrent 客戶端用於允許外部連接而不轉發端口的內容。 聊天客戶端如何做到這一點是一個不同的場景。 他們使用諸如使用 UDP(帶有外部服務器)的防火牆打孔之類的黑客攻擊http://www.h-online.com/security/features/How-Skype-Co-get-round-firewalls-747197.html看到這個有關 UDP 打孔的詳細信息的鏈接。

另請參閱這篇文章http://www.codeproject.com/Articles/13285/Using-UPnP-for-Programmatic-Port-Forwardings-and-N了解 UPnP 的使用。 但這是在 C++ 中,但我想你會明白的。

編輯:http: //4thline.org/projects/cling/我發現了這個。 我認為它可以幫助你。

您必須打開端口可能是因為您的路由器防火牆:)。 如果您已經打開讓我們說端口 9090,那么每個客戶端應用程序(Android 手機)都可以連接到它:)。 當然,如果有人想在自己的電腦上安裝服務器,他們可能會轉發一些端口並禁用一些防火牆。 如果您想要沒有特殊要求的服務器,請查找 VPS。 :)

暫無
暫無

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

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