0
我已经创建了节俭服务器和客户端。然后我开始在我的电脑上使用节俭服务器。我使用我的机器IP地址在LAN中的另一台计算机上运行客户端。如何通过节俭客户端连接到远程节俭服务器
public class ArithmeticClient {
private void invoke() {
TTransport transport;
try {
transport = new TSocket("192.168.0.232"/*this is my machine,which the sever runs' IP address*/, 7911);
TProtocol protocol = new TBinaryProtocol(transport);
ArithmeticService.Client client = new ArithmeticService.Client(protocol);
transport.open();
long addResult = client.add(100, 200);
System.out.println("Add result: " + addResult);
long multiplyResult = client.multiply(20, 40);
System.out.println("Multiply result: " + multiplyResult);
transport.close();
} catch (TTransportException e) {
e.printStackTrace();
} catch (TException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
ArithmeticClient c = new ArithmeticClient();
c.invoke();
}
}
而且我得到了一个错误
org.apache.thrift.transport.TTransportException: java.net.NoRouteToHostException: No route to host
at org.apache.thrift.transport.TSocket.open(TSocket.java:185)
at ArithmeticClient.invoke(ArithmeticClient.java:18)
at ArithmeticClient.main(ArithmeticClient.java:35)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Caused by: java.net.NoRouteToHostException: No route to host
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)
at java.net.Socket.connect(Socket.java:579)
at org.apache.thrift.transport.TSocket.open(TSocket.java:180)
... 7 more
我该如何解决这件事情。
两台电脑都运行Fedora。版本不同(17和19)
防火墙是问题所在。禁用后,我现在可以连接到远程服务器。 – ddarz4u