I know that bit torrent clients use automatic port forwarding (Port forwarding with having to configure the router) so that they can connect to each other. I want the users in my application to be able to host a server without having to configure the router. So I was wondering how you would do so in java?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
You can use UPnP (Universal Plug and Play) port forwarding. One library mentioned is Cling, but there's much simpler library - WaifUPnP, which allows you to forward a port with just one line like:
UPnP.openTCP(portnumber);
回答2:
UPnP is your friend. It is a standardized method which allows automatically configuring routers to forward ports. There are a couple of different ways to do it. One package that supports UPnP under Java is Cling. http://4thline.org/projects/cling/
回答3:
UPnP protocol can handle the automatic port forwarding. Try this library (Cling - Java/Android UPnP library and tools): http://4thline.org/projects/cling/