如果我运行以下java类,没有异常或错误消息,但我确定无法建立连接(GrailsApplication1没有运行,'url'没有指向任何bean):
public class ConnectNow {
private void connect() {
ClientDolphin dClient = new ClientDolphin();
dClient.setClientModelStore(new ClientModelStore(dClient));
String url = "http://localhost:8080/GrailsApplication1/";
ClientConnector connector = new HttpClientConnector(dClient, url);
connector.setCodec(new JsonCodec());
dClient.setClientConnector(connector);
dClient.send("Hi from client");
}
public static void main(String[] args) {
ConnectNow cn = new ConnectNow();
cn.connect();
System.out.println("End");
}
}
Soo,我如何识别是否建立了连接?我是客户端/服务器开发人员的新手,所以也许我错过了一些明显的东西。
感谢您提供任何建议或文档参考!
答案 0 :(得分:1)
现在,我想出来了......关键是我必须将代码作为应用程序运行,在本例中为javafx app。然后,如果您尝试传输某些内容(dClient发送“嗨...... - 在这种情况下)”,应用会尝试发送消息,如果ConnectException: Connection refused
上没有任何内容正在运行,则会获得url
。
在我看来,这是open-dolphin服务器accessibity测试的最短版本:
import javafx.application.Application;
import javafx.stage.Stage;
import org.opendolphin.core.client.ClientDolphin;
import org.opendolphin.core.client.ClientModelStore;
import org.opendolphin.core.client.comm.ClientConnector;
import org.opendolphin.core.client.comm.HttpClientConnector;
import org.opendolphin.core.comm.JsonCodec;
/**
*
* @author Václav Hanton
*/
public class ConnectNow extends Application {
private void connect() {
ClientDolphin dClient = new ClientDolphin();
ClientModelStore mStore = new ClientModelStore(dClient);
dClient.setClientModelStore(mStore);
String url = "http://localhost:8080/GrailsApplication1/";
ClientConnector connector = new HttpClientConnector(dClient, url);
connector.setCodec(new JsonCodec());
dClient.setClientConnector(connector);
dClient.send("Hi from client");
}
public static void main(String[] args) {
ConnectNow cn = new ConnectNow();
cn.connect();
Application.launch();
}
@Override
public void start(Stage stage) throws Exception {
System.out.println("Started");
}
}