网络编程简单模型

<pre class="java" name="code">import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class ServerDemo {
  public static void main(String[] args)
    throws Exception{
    ServerDemo server = new ServerDemo();
    server.listen(8900);
  }
  public void listen(int port) throws Exception{
    ServerSocket ss = new ServerSocket(port);
    while(true){
      Socket socket = ss.accept();//等待客户的请求
      new ClientAgent(socket).start();
    }
  }
  class ClientAgent extends Thread{
    Socket socket;
    public ClientAgent(Socket socket) {
      this.socket = socket;
    }
    public void run() {
      try{
        BufferedReader in = 
          new BufferedReader(
              new InputStreamReader(
                  socket.getInputStream()));
        PrintWriter out = 
          new PrintWriter(
              socket.getOutputStream());
        out.println("您好, 今天来点啥?");
        out.flush();
        String str = in.readLine();
        if(str.trim().equals("包子")){
          out.println("这个没有!");
          out.flush();
        }
        socket.close();
      }catch(Exception e){
        e.printStackTrace();
      }
    }
  }

}

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
//客户端
public class ClientDemo {
  public static void main(String[] args) 
    throws Exception {
    
    Socket socket = new Socket("localhost", 8900);
    BufferedReader in = 
      new BufferedReader(
          new InputStreamReader(
              socket.getInputStream()));
    PrintWriter out = 
      new PrintWriter(
          socket.getOutputStream());
    String str = in.readLine();
    System.out.println(str);
    out.println("包子");
    out.flush();
    str = in.readLine();
    System.out.println(str); 
    socket.close();
  }

}




                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值