我的 Adnroid 应用程序在 AVD 上运行,而 Cassandra 服务器在 Windows 7(同一台机器)上运行 下面是我用于连接到 Cassandra 客户端的代码片段。
TTransport tr = new TFramedTransport(new TSocket("127.0.0.1", 9160));
TProtocol proto = new TBinaryProtocol(tr);
Cassandra.Client client = new Cassandra.Client(proto);
tr.open();
我试过调试;它使用 isClose() = 'false' 创建套接字(这意味着套接字已打开),但进一步无法连接(TSocket.open())
--------------来自org.apache.thrift.transport.TSocket的代码-------------- ------
try {
socket_.connect(new InetSocketAddress(host_, port_), timeout_);
inputStream_ = socket_.getInputStream();
outputStream_ = socket_.getOutputStream();
} catch (IOException iox) {
close();
throw new TTransportException(TTransportException.NOT_OPEN, iox);
}
这似乎是跨平台和 Windows 操作系统的问题(因为 Android 应用程序在 Linux 上)。有没有更好的方法可以从 Android 应用程序连接到 Cassandra 服务器?非常感谢您的帮助和时间。
谢谢兰迪普