socket和serversocket

来源:互联网 发布:怎么设计一个软件 编辑:程序博客网 时间:2024/06/08 15:13


http://blog.sina.com.cn/s/blog_6189ab480100i95e.html


public class Server { public static void main(String[] args) {  Socket socket=null;  BufferedReader br=null;  PrintWriter pw=null;  try {   //创建服务器,并开放3081端口   ServerSocket server=new ServerSocket(3081);   while(true){        //监听服务器端口,一旦有数据发送过来,那么就将数据封装成socket对象    //如果没有数据发送过来,那么这时处于线程阻塞状态,不会向下继续执行    socket=server.accept();    System.out.println("客户端信息:"+socket.getRemoteSocketAddress());    //从socket中得到读取流,该流中有客户端发送过来的数据    InputStream in=socket.getInputStream();    //InputStreamReader将字节流转化为字符流    br=new BufferedReader(new InputStreamReader(in));    //行读取客户端数据    String info=br.readLine();    System.out.println(info);            OutputStream out=socket.getOutputStream();    pw=new PrintWriter(out);    pw.println("服务器说:我扁死你");    pw.flush();   }     } catch (Exception e) {   // TODO Auto-generated catch block   e.printStackTrace();  }finally{      try {    pw.close();    br.close();    socket.close();   } catch (IOException e) {    // TODO Auto-generated catch block    e.printStackTrace();   }  }   }}  
 public class Client { public static void main(String[] args) {  Socket socket=null;  PrintWriter pw=null;  BufferedReader br=null;  try {   //创建socket对象,并指明服务器的IP地址和端口号   socket=new Socket("localhost",3081);   //得到socket发送数据的输出流   OutputStream out=socket.getOutputStream();   //将字节流包装成字符流   pw=new PrintWriter(out);      //向服务器发送数据   pw.println("客户端说:建军闷烧");   //刷新流,确保数据能写到服务器   pw.flush();      InputStream in=socket.getInputStream();      br=new BufferedReader(new InputStreamReader(in));   String info=br.readLine();   System.out.println(info);           } catch (Exception e) {   // TODO Auto-generated catch block   e.printStackTrace();  }  finally{   try {    pw.close();    socket.close();   } catch (IOException e) {    // TODO Auto-generated catch block    e.printStackTrace();   }  } }}   
public class Client { public static void main(String[] args) {  Socket socket=null;  PrintWriter pw=null;  BufferedReader br=null;  try {   //创建socket对象,并指明服务器的IP地址和端口号   socket=new Socket("localhost",3081);   //得到socket发送数据的输出流   OutputStream out=socket.getOutputStream();   //将字节流包装成字符流   pw=new PrintWriter(out);      //向服务器发送数据   pw.println("客户端说:建军闷烧");   //刷新流,确保数据能写到服务器   pw.flush();      InputStream in=socket.getInputStream();      br=new BufferedReader(new InputStreamReader(in));   String info=br.readLine();   System.out.println(info);           } catch (Exception e) {   // TODO Auto-generated catch block   e.printStackTrace();  }  finally{   try {    pw.close();    socket.close();   } catch (IOException e) {    // TODO Auto-generated catch block    e.printStackTrace();   }  } }}

0 0