服务器发送的事件客户端在Java项目中不工作
我正试图从这里用java实现SSE客户机。 当使用post方法实现为Servlet客户端时,它可以正常工作。但当我在Java项目中使用main方法实现相同的客户端时,它就不起作用了,并且在Servlet中使用了相同的jar文件。下面是我与目标URI一起使用的代码:-服务器发送的事件客户端在Java项目中不工作,java,android,server-sent-events,Java,Android,Server Sent Events,我正试图从这里用java实现SSE客户机。 当使用post方法实现为Servlet客户端时,它可以正常工作。但当我在Java项目中使用main方法实现相同的客户端时,它就不起作用了,并且在Servlet中使用了相同的jar文件。下面是我与目标URI一起使用的代码:- import javax.ws.rs.Consumes; import javax.ws.rs.ProcessingException; import javax.ws.rs.client.Client; import javax.
import javax.ws.rs.Consumes;
import javax.ws.rs.ProcessingException;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.MediaType;
import org.glassfish.jersey.media.sse.EventListener;
import org.glassfish.jersey.media.sse.EventSource;
import org.glassfish.jersey.media.sse.InboundEvent;
import org.glassfish.jersey.media.sse.SseFeature;
public class SSEreceive {
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
Client client = ClientBuilder.newBuilder().register(SseFeature.class).build();
WebTarget target = ((Client)client).target("http://www.w3schools.com/html/demo_sse.php");
EventSource eventSource = (EventSource)EventSource.target(target).build();
EventListener listener = new EventListener() {
@Override
//@Consumes(MediaType.APPLICATION_JSON)
public void onEvent(InboundEvent inboundEvent) {
// System.out.println(inboundEvent.getName() + "; " + inboundEvent.readData(String.class));
System.out.println(inboundEvent.readData(String.class));
}
};
//eventSource.register(listener, "message-to-client");
eventSource.register(listener);
eventSource.open();
System.out.println("Connection tried");
eventSource.close();
} catch (ProcessingException pe) {
pe.printStackTrace();
System.out.println(pe.getMessage());
} catch (Exception e) {
e.printStackTrace();
System.out.println(e.getMessage());
}
}
}
有人能帮我解释一下为什么这在Java项目中不起作用吗?我正试图在Android应用程序中为SSE和目标URL-实现相同的代码。但它在Android中不起作用。请告诉我Android清单文件中是否遗漏了任何内容。也许你可以提供日志,记住响应应该有“内容类型:文本/事件流”标题和字符集=utf-8