import java.io.*;
import java.net.*;
public class echoserver1
{ public static void main(string[] args )
{ try
{
serversocket s = new serversocket(8500);
socket incoming = s.accept( );
bufferedreader in = new bufferedreader
(new inputstreamreader(incoming.getinputstream()));
printwriter out = new printwriter
(incoming.getoutputstream(), true /* autoflush */);
out.println( "hello! enter bye to exit." );
boolean done = false;
while (!done)
{ string line = in.readline();
if (line == null) done = true;
else
{ out.println("echo: " + line);
if (line.trim().equals("bye"))
done = true;
}
}
incoming.close();
}
catch (exception e)
{ system.out.println(e);
}
}
}
// echoclient1.java
import java.io.*;
import java.net.*;
public class echoclient1 {
public static void main(string args[]) {
try{
if (args.length != 1){
system.out.println("usage: java client servername");
return;
}
string connectto= args[0];
socket connection;
// connect to server
if(connectto.equals("localhost")){
connection=new socket(inetaddress.getlocalhost(),8500);
}
else{
connection=new socket(inetaddress.getbyname(connectto),8500);
}
bufferedreader input=new bufferedreader(new inputstreamreader(connection.getinputstream()));
printwriter out = new printwriter(connection.getoutputstream(), true /* autoflush */);
// read information from server
string info;
info = input.readline();
system.out.println(info);
boolean done = false;
bufferedreader in = new bufferedreader(new inputstreamreader(system.in));
string sinput;
while(!done){
sinput = in.readline();
out.println(sinput);
if (sinput.equalsignorecase("bye")) done = true;
info = input.readline();
system.out.println(info);
}
connection.close();
}
catch(securityexception e){
system.out.println("securityexception when connecting server!");
}
catch(ioexception e){
system.out.println("ioexception when connecting server!");
}
}
}
运行
1 运行服务器
java echoserver1
2 运行 客户端
java echoclient1 server_hostname