夜光序言:

 

 

 

笼中鸟--得到的是安逸,而失去的是自由~~

 

 

 

夜光 带你走进 Java基础编程实战(三十三 tcp/udp)

夜光 带你走进 Java基础编程实战(三十三 tcp/udp)

正文:

运行结果:对比之前的嗯~~

夜光 带你走进 Java基础编程实战(三十三 tcp/udp)

 

新写了一个服务端:

import java.net.*;
public class TcpServer2


// 夜光 这个就比较有意思了~~
// 每启动一个客户端,都会有对应嗯~~

{
    public static void main(String [] args)
    {
        try
        {
            // 夜光 并不是说客户端开的越多越好,如果线程太多,会导致服务端爆炸~~
            ServerSocket ss=new ServerSocket(8001);
            while(true)
            {
                Socket s=ss.accept();
                System.out.println("来了一个client");
                new Thread(new Worker(s)).start();
            }
            //ss.close();
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }
}

夜光 带你走进 Java基础编程实战(三十三 tcp/udp)

核心点:我们还需要再写一个java类~~

 


import java.net.*;
import java.io.*;

// 夜光 服务端代码加载这个java类
class Worker implements Runnable {
    Socket s;

    public Worker(Socket s) {
        this.s = s;
    }

    public void run() {
        try {
            System.out.println("服务人员已经启动");
            InputStream ips = s.getInputStream();
            OutputStream ops = s.getOutputStream();

            BufferedReader br = new BufferedReader(new InputStreamReader(ips));
            DataOutputStream dos = new DataOutputStream(ops);
            while (true) {
                String strWord = br.readLine();
                System.out.println("client said:" + strWord +":" + strWord.length());
                if (strWord.equalsIgnoreCase("quit"))
                    break;
                String strEcho = strWord + " 666";
                // dos.writeBytes(strWord +"---->"+ strEcho +"\r\n");
                System.out.println("server said:" + strWord + "---->" + strEcho);
                dos.writeBytes(strWord + "---->" + strEcho + System.getProperty("line.separator"));
            }
            br.close();
            // 夜光 关闭包装类,会自动关闭包装类中所包装的底层类。所以不用调用ips.close()
            dos.close();
            s.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

夜光 带你走进 Java基础编程实战(三十三 tcp/udp)

相关文章: