Java连接到CentralNIC EPP服务器

Java连接到CentralNIC EPP服务器,java,epp,Java,Epp,我有一个关于flow连接到epp服务器的线程。 我的代码: Socket-Socket=sf.createSocket(“xxx.xxx.xxx.xxx”,700); 字符串xml=“\n”+ “\n”+ “\n”+ “\n”+ “用户\n”+ “通过\n”+ “\n”+ “1.0\n”+ “恩\n”+ “\n”+ “\n”+ “urn:ietfaramsml:nsomain-1.0\n”+ “urn:ietfaramsml:ns:contact-1.0\n”+ “urn:ietfaramsml

我有一个关于flow连接到epp服务器的线程。 我的代码:

Socket-Socket=sf.createSocket(“xxx.xxx.xxx.xxx”,700);
字符串xml=“\n”+
“\n”+
“\n”+
“\n”+
“用户\n”+
“通过\n”+
“\n”+
“1.0\n”+
“恩\n”+
“\n”+
“\n”+
“urn:ietfaramsml:nsomain-1.0\n”+
“urn:ietfaramsml:ns:contact-1.0\n”+
“urn:ietfaramsml:ns:host-1.0\n”+
“\n”+
“\n”+
“acccfffff\n”+
“\n”+
"";
插座。设置插座(300000);
PrintWriter writer=新的PrintWriter(新的
OutputStreamWriter(socket.getOutputStream()),true);
BufferedReader br=新的BufferedReader(新的InputStreamReader(socket.getInputStream());
write.write(xml);
writer.close();
System.out.println(“响应1:+br.readLine());
println(xml);
writer.close();
System.out.println(“响应2:+br.readLine());
响应1返回问候消息,响应2返回null
如何正确地向epp服务器发送登录命令?

关闭写入程序,然后再次尝试写入它。那是行不通的。实际上,我希望抛出一个异常……除了@f1sh reply之外,请注意您没有正确地实现EPP。每个帧的前缀应为4字节的总长度。请参阅RFC3734的第4节。正确的参考应改为RFC5734:
Socket socket = sf.createSocket("xxx.xxx.xxx.xxx", 700);
    String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n" +
            "<epp xmlns=\"urn:ietfaramsml:ns:epp-1.0\"\n" +
            "                xmlnssi=\"http://www.w3.org/2001/XMLSchema-instance\"\n" +
            "                xsi:schemaLocation=\"urn:ietfaramsml:ns:epp-1.0 epp-1.0.xsd\">\n" +
            "<command xmlns=\"urn:ietfaramsml:ns:epp-1.0\">\n" +
            "  <login>\n" +
            "    <clID>user</clID>\n" +
            "    <pw>pass</pw>\n" +
            "    <options>\n" +
            "      <version>1.0</version>\n" +
            "      <lang>en</lang>\n" +
            "    </options>\n" +
            "    <svcs>\n" +
            "      <objURI>urn:ietfaramsml:nsomain-1.0</objURI>\n" +
            "      <objURI>urn:ietfaramsml:ns:contact-1.0</objURI>\n" +
            "      <objURI>urn:ietfaramsml:ns:host-1.0</objURI>\n" +
            "    </svcs>\n" +
            "  </login>\n" +
            "  <clTRID>ACCCCFFFFF</clTRID>\n" +
            "</command>\n" +
            "</epp>";
    socket.setSoTimeout(300000);

    PrintWriter writer = new PrintWriter(new 
    OutputStreamWriter(socket.getOutputStream()),true);
    BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    writer.write(xml);
    writer.close();
    System.out.println("response 1:" + br.readLine());

    writer.println(xml);
    writer.close();
    System.out.println("response 2:" + br.readLine());