java版简单服务端和客户端,差不多是照着书上打出来的,汗,差不多都是获取个输入(出)流,再获取输入(出)数据,然后用readUTF()读取数据,writeUTF写出数据。再添加了异常捕捉机制。呵呵,对这运行机制总算有点清楚了。
import java.net.*;
import java.io.*;
public class FirstServer {
public static void main(String args[]) throws Exception{
ServerSocket server=new ServerSocket(8000);
while(true){
try{
Socket s=server.accept();
InputStream sin=s.getInputStream();
OutputStream sout=s.getOutputStream();
DataInputStream dsin=new DataInputStream(sin);
DataOutputStream dsout=new DataOutputStream(sout);
System.out.println(dsin.readUTF());
dsout.writeUTF("对不起,该商品缺货!");
dsin.close();
dsout.close();
s.close();
}catch(IOException e){
System.out.println(e);
}
}
}
}
import java.net.*;
import java.io.*;
public class FirstClient {
public static void main(String args[]) throws Exception {
try{
Socket client=new Socket("localhost",8000);
OutputStream cout=client.getOutputStream();
InputStream cin=client.getInputStream();
DataOutputStream dcout=new DataOutputStream(cout);
DataInputStream dcin=new DataInputStream(cin);
dcout.writeUTF("购买一件商品");
System.out.println(dcin.readUTF());
dcout.close();
dcin.close();
client.close();
} catch(Exception e){
System.out.println(e);
}
}
}