有没有办法绑定远程套接字服务并从android中的客户端接收消息?

时间:2011-12-31 08:37:56

标签: android sockets

我要做的是:

  1. 创建一个侦听套接字的服务。
  2. 启动另一个绑定到该服务的应用程序,并从套接字的客户端接收消息(并可能将某些内容发送回客户端)。
  3. 我有该服务的事件监听器回调并作为Binder返回,但我不确定aidl是否可以处理事件监听器。如果没有,有没有其他方法来实现这一目标? 提前谢谢!

1 个答案:

答案 0 :(得分:0)

最后我采取了另一种选择:
我创建了一个同步消息缓冲区,其编写器是套接字线程中的回调,并且读取器在aidl文件中公开。
虽然这是一个多余的,但这是我现在能找到实现目标的唯一方法。

public class CBuffer {
    private List<String> list =
        new ArrayList<String>();

    public synchronized void add(String cmd) {
        list.add(cmd);
        notifyAll();
    }

    public synchronized String get()
        throws InterruptedException
    {
        while (list.size() == 0)
            wait();
        return list.remove(0);
    }
}