sockets - PubNub 停止发布

标签 sockets publish publish-subscribe pubnub

在发布时使用 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 控制台和我的订阅者中看到输出。此外,我可以在发布语句之后编写我想要的任何内容,并且它会像正常程序一样继续运行。
除了它永远不会自行结束的事实
任何人都可以解释发生了什么?

最佳答案

您可以使用:
pubnub_pub.stop();
这将在发布后终止线程本身。

关于sockets - PubNub 停止发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33892076/

相关文章:

ios - dispatch_io_read 如果接收数据大小小于长度,套接字将等待更多数据

Linux Socket 和 ARP 欺骗

android - Google Play 商店中有多个版本的应用

android - 从商店停用 iOS 和 Android 商店,但使其可重置

redis - Faye 或 Redis Pubsub

javascript - TypeScript 和 JavaScript : Communicate using events with content

design-patterns - 当发布/订阅消息传递消除模块的接口(interface)时该怎么办?

java套接字地址已在使用异常

linux - 如何为沙盒禁用 Linux 进程的套接字创建?

azure - Visual Studio 未与 Microsoft Azure 连接以发布我的应用程序