【发布时间】:2015-11-24 11:11:05
【问题描述】:
在发布时使用 PubNub 为什么会开始一个连续循环? 一旦功能完成,程序应该结束。 但是发布消息发送后,发布程序继续运行,就像在等待其他东西一样。
这是我的代码
import java.sql.Timestamp;
import java.util.Date;
import com.pubnub.api.*;
import org.json.*;
public class UserRegister {
public static void main(String[] args) throws InterruptedException {
Pubnub pubnub_pub = new Pubnub("pub-c-3192165c-...", "sub-c-7debcf5c-...");
Callback callback = new Callback() {
public void successCallback(String channel, Object response) {
System.out.println(response.toString());
}
public void errorCallback(String channel, PubnubError error) {
System.out.println(error.toString());
}
};
String encMessage="";
JSONObject message = new JSONObject();
try {
System.out.println("user reg");
message.put("CMD", "USER_REGISTER");
message.put("EMAIL", "jabali2@jabali.in");
message.put("PASSWORD", "1123");
message.put("TIMESTAMP", new Timestamp(new Date().getTime()));
encMessage = new MyEncrypt().encrypt(message.toString());
}
catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
pubnub_pub.publish("jabali_channel_101", encMessage, callback);
}
}
程序完成发布后是否应该停止?
它也不会在某个地方陷入循环。我可以在 PubNub 控制台和订阅者中看到输出。此外,我可以在发布语句之后编写我想要的任何内容,并且它会像正常程序一样继续。
除了它永远不会自行结束的事实
任何人都可以解释发生了什么吗?
【问题讨论】:
-
我可以理解订阅在无限循环中运行。它需要继续收听频道。但是一旦发布完成,让它运行就没有意义了。有什么办法可以阻止它?
-
您可以启用日志记录(使用调试 jar),捕获此行为并发送到 support@pubnub.com 吗?并且您不应该向公众公开您的 pub 密钥或子密钥。
标签: sockets publish publish-subscribe pubnub