有没有办法在 Cling 中指定一个没有关联 @UpnpStateVariable 的 @UpnpAction?我尝试了类似的东西
public class ApplicationExecutionServer {
@UpnpAction
public void anAction() {
// do something
}
}
但得到一个错误,说动作“anAction”没有与状态变量相关联。
不幸的是,没有办法进行“无头”操作。但是,您可以有一个惰性变量。例如,我有一个像这样的服务,它使用一个假定的字符串设置器来模拟一个真正不涉及原始状态变量的动作。
@UpnpStateVariable(defaultValue="0", sendEvents=false)
private String clientHandshakeData = null;
/**
* "Headless" action with ephemeral/transient state variable.
* @param handshakeData
*/
@UpnpAction
public void setClientHandshakeData(@UpnpInputArgument(name="NewClientHandshakeDataValue")String handshakeData){
clientHandshakeData = handshakeData;
processCurrentHandshakeData();
clientHandshakeData = null;
}
本质上,“clientHandshakeData”是短暂的,我希望每次调用都有一个新值(新客户端连接)。每次有新的连接时,我都会“处理”当前的握手数据并立即将其设置为空。