It's modified, client connect to server and send something. In server side, wait connected and print the received text to screen.
host.java
import java.io.BufferedReader;
import java.net.ServerSocket;
import java.net.Socket;
import java.io.OutputStream;
import java.io.PrintStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.logging.Level;
import java.util.logging.Logger;
class host
{
public static void main(String srgs[])
{
ServerSocket serverSocket = null;
Socket socket = null;
BufferedReader bufferedReader = null;
PrintStream printStream = null;
try{
serverSocket = new ServerSocket(0);
System.out.println("I'm waiting here: "
+ serverSocket.getLocalPort());
socket = serverSocket.accept();
System.out.println("from " +
socket.getInetAddress() + ":" + socket.getPort());
InputStreamReader inputStreamReader =
new InputStreamReader(socket.getInputStream());
bufferedReader = new BufferedReader(inputStreamReader);
String line;
while((line=bufferedReader.readLine()) != null){
System.out.println(line);
}
}catch(IOException e){
System.out.println(e.toString());
}finally{
if(bufferedReader!=null){
try {
bufferedReader.close();
} catch (IOException ex) {
System.out.print(ex.toString());
}
}
if(printStream!=null){
printStream.close();
}
if(socket!=null){
try {
socket.close();
} catch (IOException ex) {
System.out.print(ex.toString());
}
}
}
}
}
client.java
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.Socket;
import java.net.UnknownHostException;
public class client {
public static void main(String args[])
{
if(args.length != 2){
System.out.println("usage: java client <port> <something>");
System.exit(1);
}
int port = isParseInt(args[0]);
if(port == -1){
System.out.println("usage: java client <port> <something>");
System.out.println("<port>: integer");
System.exit(1);
}
try{
//IP is hard coded, Local Loopback = "127.0.0.1"
//port is user entry
Socket socket = new Socket("127.0.0.1", port);
//Send msg to server
OutputStream outputStream = socket.getOutputStream();
PrintStream printStream = new PrintStream(outputStream);
printStream.print(args[1]);
socket.close();
}catch(UnknownHostException e){
System.out.println(e.toString());
}catch(IOException e){
System.out.println(e.toString());
}
}
private static int isParseInt(String str){
int num = -1;
try{
num = Integer.parseInt(str);
} catch (NumberFormatException e) {
}
return num;
}
}
It's Android version of the Client.
Next:
- bi-direction communication, between echo server and client
No comments:
Post a Comment