1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| public class ManagerOpen {
private BufferedReader istream = null;
/** Creates a new instance of ManagerOpen */
public ManagerOpen() {
Socket socket = null;
byte address[] = {(new Integer(XXX)).byteValue() ,(new Integer(XXX)).byteValue(),(new Integer(XXX)).byteValue(),(new Integer(XXX)).byteValue()};
InetAddress server;
try {
server = InetAddress.getByAddress(address);
socket = new Socket(server,1500);
//Flux entrants
InputStream in = socket.getInputStream();
InputStreamReader reader = new InputStreamReader(in);
istream = new BufferedReader(reader);
//Flux sortants
OutputStream out = socket.getOutputStream();
PrintStream ostream = new PrintStream(out);
//Demande de connexion
String cmd = "<Envelope><Header><property name=\"target\" value=\"XXXXXXX\" /></Header><Body><invoke iid=\"1\" service=\"AUTH_LOGIN\"><property value=\"XXX\" name=\"password\" /><property value=\"104\" name=\"login\" /><property value=\"simple\" name=\"scheme\" /><property value=\"immostoreipbx2\" name=\"domain\" /></invoke></Body></Envelope>";
ostream.println(cmd);
ostream.flush();
out.write(0); //"." signifie que le message est terminé.
cmd = "<Envelope><Header /><Body><invoke iid=\"9\" service=\"DIRECTORY_LIST\"><property value=\"true\" name=\"monitor\" /></invoke></Body></Envelope>"; ostream.println(cmd);
ostream.flush();
out.write(0);
boolean test=true;
while(test){
int temp=istream.read();
if(temp==0){
test=false;
}
}
System.out.println("pouetpouet:"+istream.ready());
} catch (UnknownHostException ex) {
ex.printStackTrace();
System.out.println("pouet1");
} catch (IOException ex) {
ex.printStackTrace();
System.out.println("pouet2");
}
finally{try{
System.out.println("socket fermé!!");
socket.close();
System.out.println("pouetpouet:"+istream.ready());
} catch(IOException e){}}
}
} |