su4sml/add-ons/uml2cdl/contrib/Uml2CdlClient.java

49 lines
1.3 KiB
Java

import java.net.*;
import java.io.*;
public class Uml2CdlClient{
public static void main(String[] args) throws Exception{
if (args.length != 1){
System.out.println("Usage: java Uml2CdlClient <XMI>");
System.exit(0);
}
//open a socket and corresponding input and output streams
Socket s = new Socket("lennox",443);
BufferedOutputStream buf_sock_out
= new BufferedOutputStream(s.getOutputStream());
BufferedInputStream buf_sock_ins
= new BufferedInputStream(s.getInputStream());
//read a file and write it on the socket
BufferedInputStream buf_infile
= new BufferedInputStream(new FileInputStream(args[1]));
byte[] b = new byte[1000];
int i ;
while((i = buf_infile.read(b,0,1000)) != -1){
buf_sock_out.write(b,0,i);
}
buf_sock_out.flush();
//if we close the stream, as it will also close the socket.
//therefore we just "close" the output half of the socket
s.shutdownOutput();
//read result from socket and print on stdout
try {
while(!s.isClosed() &&
(i = buf_sock_ins.read(b,0,1000)) != -1){
System.out.write(b,0,i);
System.out.flush();
}
//we catch the socketexception, because the server just shuts down
//the connection after he has sent everything...
} catch (SocketException msg){}
buf_sock_ins.close();
}
}