本文整理汇总了Java中org.fourthline.cling.support.igd.PortMappingListener类的典型用法代码示例。如果您正苦于以下问题:Java PortMappingListener类的具体用法?Java PortMappingListener怎么用?Java PortMappingListener使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
PortMappingListener类属于org.fourthline.cling.support.igd包,在下文中一共展示了PortMappingListener类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: UPNPOpenPorts
import org.fourthline.cling.support.igd.PortMappingListener; //导入依赖的package包/类
public static void UPNPOpenPorts()
{
PortMapping[] ports = new PortMapping[2];
upnp_log.i("Listing ports to be mapped");
ports[0] = new PortMapping(Server.PORT, NetUtils.getLocalIPAddr(), PortMapping.Protocol.TCP, "PacChat " + Main.VERSION + " TCP");
ports[1] = new PortMapping(P2PServer.P2P_PORT, NetUtils.getLocalIPAddr(), PortMapping.Protocol.TCP, "PacChat " + Main.VERSION + " P2P TCP");
//arr[index] = new PortMapping(port, ipaddr, protocol, description);
for (int i = 0; i < ports.length; i++)
{
upnp_log.i("Mapping " + i + ": Port " + ports[i].getExternalPort() + ", Protocol " + ports[i].getProtocol().toString());
}
upnp_log.i("Initializing UPNP service.");
PortMappingListener pml = new PortMappingListener(ports);
upnp_log.i("Registering port mappings.");
UPNP_SERVICE = new UpnpServiceImpl(pml);
UPNP_SERVICE.getRegistry().addListener(REGISTRY_LISTENER);
registry_log.i("Advertising local services.");
UPNP_SERVICE.getRegistry().advertiseLocalDevices();
control_point_log.i("Sending search message to all devices and services, devices should respond soon.");
control_point_log.i("This function's purpose is to try and find the router, then forward ports through it.");
UPNP_SERVICE.getControlPoint().search(new STAllHeader());
upnp_log.i("If UPNP is to work, it will in a matter of seconds. Otherwise, UPNP is likely disabled on your network.");
//upnp_log.w("If it doesn't work, it should within a matter of seconds. You should've gotten some discovery messages. If no discovery messages are printed, something is wrong.");
upnp_open = true;
}
示例2: publishService
import org.fourthline.cling.support.igd.PortMappingListener; //导入依赖的package包/类
/**
* Publishes a service for a specified IP address.
*
* @param address an address.
* @param service a service.
*/
public void publishService(@Nonnull InetAddress address, @Nonnull Service service) {
PortMapping mapping = new PortMapping(
service.getPort(),
address.getHostAddress(),
(service.getType() == ProtocolType.TCP ? PortMapping.Protocol.TCP : PortMapping.Protocol.UDP),
"Beacon Service (" + service.getDisplayName() + ")"
);
// ensure our lease is refreshed every ~30 seconds so we do not end up with zombie leases in our UPnP
// configuration even when the application or PC crashes
// FIXME: This causes the lease to expire entirely even while the application is running so we can't quite rely on it at the moment
// mapping.setLeaseDurationSeconds(new UnsignedIntegerFourBytes(30));
logger.info("Publishing service %s (using %s on port %d) on %s.", service.getDisplayName(), service.getType(), service.getPort(), address.getAddress());
UpnpService upnpService = new UpnpServiceImpl(new PortMappingListener(mapping));
upnpService.getControlPoint().search();
this.serviceMap.put(service, upnpService);
}
示例3: tryToOpenPort
import org.fourthline.cling.support.igd.PortMappingListener; //导入依赖的package包/类
public void tryToOpenPort(String localAddress, int portNumber1, int portNumber2, String description1, String description2) {
PortMapping portMapping = new PortMapping(
portNumber1,
localAddress,
PortMapping.Protocol.TCP,
description1
);
PortMapping portMapping2 = new PortMapping(
portNumber2,
localAddress,
PortMapping.Protocol.TCP,
description2
);
service = new UpnpServiceImpl(
new PortMappingListener(portMapping),
new PortMappingListener(portMapping2)
);
service.getControlPoint().search();
}