首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在安卓系统上实现Kaazing EventSource

在安卓系统上实现Kaazing EventSource
EN

Stack Overflow用户
提问于 2016-07-06 23:09:39
回答 0查看 503关注 0票数 1

我正在编写一个安卓应用程序,需要EventSource来接收服务器发送的事件。我正在尝试创建SseEventSourceFactory对象,但在创建时收到NoSuchElement异常。我该如何解决这个问题呢?

下面是我的代码:

代码语言:javascript
复制
// Import java.net classes
import java.net.URI;
import java.net.URL;

// Import EventSource API classes
import com.kaazing.net.sse.SseEventReader;
import com.kaazing.net.sse.SseEventSource;
import com.kaazing.net.sse.SseEventSourceFactory;
import com.kaazing.net.sse.SseEventType;

try {
            // Create Event Source factory( Exception thrown here
            SseEventSourceFactory factory = SseEventSourceFactory.createEventSourceFactory();

            // Create a target location using the java.net.URI create() method
            final SseEventSource es = factory.createEventSource(URI.create("http://cak9c.com/sse.php"));

            // Connect to the event source.
            es.connect();

            final Object o = this;
            Thread sseEventReaderThread = new Thread() {
                public void run() {
                    try {
                        SseEventReader reader = es.getEventReader(); // Receive event stream

                        SseEventType type = null;
                        while ((type = reader.next()) != SseEventType.EOS) { // Wait until type is DATA
                            switch (type) {
                                case DATA:
                                    // Return the payload of the last received event
                                    System.out.println(reader.getData());
                                    break;
                                case EMPTY:
                                    System.out.println("no data");
                                    break;
                            }
                        }

                    }
                    catch (Exception ex) {
                        System.out.println(ex.getMessage());
                    }
                }
            };
            es.close();
        }
        catch(Exception e)
        {
            System.out.println(e.getMessage());
            Toast.makeText(this, e.getLocalizedMessage() + ": " + e.getMessage(), Toast.LENGTH_LONG).show();
        }
EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38227464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档