有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java服务器向Android发送事件

我想在Android(4.4)上的WebView中使用服务器发送的事件。EventSource应该连接到本地Port (5003),在那里我有一个ServerSocket监听传入的请求:

Socket _socket;

//Creating Server Socket listening on Port 5003
try {
    InetAddress adress = InetAddress.getByName("localhost");
    ServerSocket serversocket = new ServerSocket(5003, 50, adress);
    while(true){
        _socket = serversocket.accept();      //Accept incoming request
        Logger.Log.d("SSE","Received Server Sent Event Request);
    }
} catch (IOException e) {
    e.printStackTrace();
}

我的HTML页面中的JavaScript:

var source = new EventSource('http://localhost:5003/'); 

source.addEventListener('message', function(e) {
        console.log(e.data);
}, false);

source.addEventListener('open', function(e) {
        // Connection was opened.
        console.log('open');
}, false);

source.addEventListener('error', function(e) {
  var txt;
  switch( event.target.readyState ){
      // if reconnecting
    case EventSource.CONNECTING:
      txt = 'Reconnecting...' + event.target.url;
      break;
      // if error was fatal
    case EventSource.CLOSED:
      txt = 'Connection failed. Will not retry.';
      break;
  }
  console.log(txt);
}, false);

EventSource未连接到我的本地socket。 每3秒钟调用一次onError,EventSource会尝试重新连接

I/chromium(15898): [INFO:CONSOLE(24)] "Reconnecting...http://localhost:5003/"

谁能帮帮我吗


共 (1) 个答案

  1. # 1 楼答案

    我自己解决了这个问题

    代码正在运行。我只需将我的安卓设备重置为出厂默认值。 现在一切都很完美