JAVA多线程--基本客户端及服务端多线程

Java 继承 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。继承可以理解为一个对象从另一个对象获取属性的过程。在java堆中创建一个Student对象,并将其引用值放入栈顶。

客户端代码

package com.bq;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;

public class Client {
    public Client() throws Exception {
        Socket server = new Socket(InetAddress.getLocalHost(), 8000);
        BufferedReader in = new BufferedReader(new InputStreamReader(
                server.getInputStream()));
        PrintWriter out = new PrintWriter(server.getOutputStream());
        BufferedReader wt = new BufferedReader(new InputStreamReader(System.in));
        while (true) {
            String str = wt.readLine();
            out.println(str);
            out.flush();
            if (str.equals("end")) {
                break;
            }
            System.out.println(in.readLine());
        }
        server.close();
    }

    public static void main(String[] args) throws Exception {
        new Client();
    }
}
 

HTTP Server

package com.bq;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {

    public Server() throws IOException {
        ServerSocket server = new ServerSocket(8000);
        Socket client = server.accept();
        BufferedReader in = new BufferedReader(new InputStreamReader(
                client.getInputStream()));
        PrintWriter out = new PrintWriter(client.getOutputStream());
        while (true) {
            String str = in.readLine();
            System.out.println(str);
            out.println("Receive from Client...." + str.toUpperCase());
            out.flush();
            if (str.equals("quit"))
                break;
        }
        client.close();
    }

    public static void main(String[] args) throws IOException {
        new Server();
    }
}

HTTP Server 多线程

package com.bq;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class ThreadedServer {
    public ThreadedServer() throws Exception {
        ServerSocket server = new ServerSocket(8000);
        int socketNo = 1;
        while (true) {
            Socket socket = server.accept();
            System.out.println("----Start For socket No" + socketNo + "------");
            System.out.println("The socket name ======="
                    + socket.getInetAddress().getHostName());
            HandleAsocket task = new HandleAsocket(socket);
            new Thread(task).start();
            socketNo++;
        }
    }
    public static void main(String[] args) throws Exception {
        new ThreadedServer();
    }
}

class HandleAsocket implements Runnable {
    private Socket socket;

    public HandleAsocket(Socket socket) {
        this.socket = socket;
    }

    @Override
    public void run() {

        try {
            BufferedReader in = new BufferedReader(new InputStreamReader(
                    socket.getInputStream()));
            PrintWriter out = new PrintWriter(socket.getOutputStream());
            while (true) {
                String str = in.readLine();
                System.out.println(str);
                out.println("Receive from socket...." + str.toUpperCase());
                out.flush();
                if (str.equals("quit"))
                    break;
            }
            socket.close();
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}

下载图片案例

package ch17;
import java.io.InputStream;
import java.io.RandomAccessFile;
import java.net.HttpURLConnection;
import java.net.URL;

public class DownUtil
{
    // 定义下载资源的路径
    private String path;
    // 指定所下载的文件的保存位置
    private String targetFile;
    // 定义需要使用多少线程下载资源
    private int threadNum;
    // 定义下载的线程对象
    private DownThread[] threads;
    // 定义下载的文件的总大小
    private int fileSize;

    public DownUtil(String path, String targetFile, int threadNum)
    {
        this.path = path;
        this.threadNum = threadNum;
        // 初始化threads数组
        threads = new DownThread[threadNum];
        this.targetFile = targetFile;
    }

    public void download() throws Exception
    {
        URL url = new URL(path);
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setConnectTimeout(5 * 1000);
        conn.setRequestMethod("GET");
        conn.setRequestProperty(
                "Accept",
                "image/gif, image/jpeg, image/pjpeg, image/pjpeg, "
                        + "application/x-shockwave-flash, application/xaml+xml, "
                        + "application/vnd.ms-xpsdocument, application/x-ms-xbap, "
                        + "application/x-ms-application, application/vnd.ms-excel, "
                        + "application/vnd.ms-powerpoint, application/msword, */*");
        conn.setRequestProperty("Accept-Language", "zh-CN");
        conn.setRequestProperty("Charset", "UTF-8");
        conn.setRequestProperty("Connection", "Keep-Alive");
        // 得到文件大小
        fileSize = conn.getContentLength();
        conn.disconnect();
        int currentPartSize = fileSize / threadNum + 1;//这里不必一定要加1,不加1也可以
        RandomAccessFile file = new RandomAccessFile(targetFile, "rw");
        // 设置本地文件的大小
        file.setLength(fileSize);
        file.close();
        for (int i = 0; i < threadNum; i++)
        {
            // 计算每条线程的下载的开始位置
            int startPos = i * currentPartSize;
            // 每个线程使用一个RandomAccessFile进行下载
            RandomAccessFile currentPart = new RandomAccessFile(targetFile, "rw");
            // 定位该线程的下载位置
            currentPart.seek(startPos);
            // 创建下载线程
            threads[i] = new DownThread(startPos, currentPartSize, currentPart);
            // 启动下载线程
            threads[i].start();
        }
    }

    // 获取下载的完成百分比
    public double getCompleteRate()
    {
        // 统计多条线程已经下载的总大小
        int sumSize = 0;
        for (int i = 0; i < threadNum; i++)
        {
            sumSize += threads[i].length;
        }
        // 返回已经完成的百分比
        return sumSize * 1.0 / fileSize;
    }

    private class DownThread extends Thread
    {
        // 当前线程的下载位置
        private int startPos;
        // 定义当前线程负责下载的文件大小
        private int currentPartSize;
        // 当前线程需要下载的文件块
        private RandomAccessFile currentPart;
        // 定义已经该线程已下载的字节数
        public int length;

        public DownThread(int startPos, int currentPartSize,RandomAccessFile currentPart)
        {
            this.startPos = startPos;
            this.currentPartSize = currentPartSize;
            this.currentPart = currentPart;
        }

        @Override
        public void run()
        {
            try
            {
                URL url = new URL(path);
                HttpURLConnection conn = (HttpURLConnection)url.openConnection();
                conn.setConnectTimeout(5 * 1000);
                conn.setRequestMethod("GET");
                conn.setRequestProperty(
                        "Accept",
                        "image/gif, image/jpeg, image/pjpeg, image/pjpeg, "
                                + "application/x-shockwave-flash, application/xaml+xml, "
                                + "application/vnd.ms-xpsdocument, application/x-ms-xbap, "
                                + "application/x-ms-application, application/vnd.ms-excel, "
                                + "application/vnd.ms-powerpoint, application/msword, */*");
                conn.setRequestProperty("Accept-Language", "zh-CN");
                conn.setRequestProperty("Charset", "UTF-8");
                InputStream inStream = conn.getInputStream();
                // 跳过startPos个字节,表明该线程只下载自己负责哪部分文件。
                inStream.skip(this.startPos);
                byte[] buffer = new byte[1024];
                int hasRead = 0;
                // 读取网络数据,并写入本地文件
                while (length < currentPartSize
                        && (hasRead = inStream.read(buffer)) != -1)
                {
                    currentPart.write(buffer, 0, hasRead);
                    // 累计该线程下载的总大小
                    length += hasRead;
                }
                currentPart.close();
                inStream.close();
            }
            catch (Exception e)
            {
                e.printStackTrace();
            }
        }
    }
}

package ch17;
import java.net.*;

/**
 * Created by Jiqing on 2017/1/5.
 */
public class MultiThreadDown {
    public static void main(String[] args) throws Exception{
        // 初始化DownUtil对象
        final DownUtil downUtil = new DownUtil("http://imgs.aixifan.com/live/1482830873793/1482830873793.jpg","demo.jpg",4);
        // 开始下载
        downUtil.download();
        new Thread(() -> {
           while(downUtil.getCompleteRate() < 1) {
               // 每隔0.01秒查询一次任务完成进度
               System.out.println("已完成:"+ downUtil.getCompleteRate());
               try {
                   Thread.sleep(10);
               }catch (Exception ex) {}
           }
        }).start();
    }
}

socket案例

www.linkshop.com.cn/club/dispbbs.aspx?rootid=1075246
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1073941
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1073940
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1073828
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1073827
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1073648
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1075340
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1073646
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1073584
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1073583
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1072094
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1071656
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1071119
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1071086
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1071018
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1070834
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1070647
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1070530
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1070216
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1070067
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1070059
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1070010
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1069879
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1069818
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1069781
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1069731
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1069589
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1069415
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1069226
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1069160
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1069066
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1069023
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1069020
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1069009
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1068947
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1068907
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1068630
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1068431
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1068336
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1068319
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1068271
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1068198
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1068158
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1071300
www.linkshop.com.cn/club/dispbbs.aspx?rootid=1070730
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1075246
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1073941
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1073940
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1073828
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1073827
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1073648
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1075340
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1073646
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1073584
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1073583
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1072094
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1071656
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1071119
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1071086
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1071018
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1070834
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1070647
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1070530
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1070216
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1070067
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1070059
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1070010
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1069879
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1069818
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1069781
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1069731
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1069589
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1069415
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1069226
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1069160
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1069066
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1069023
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1069020
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1069009
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1068947
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1068907
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1068630
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1068431
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1068336
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1068319
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1068271
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1068198
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1068158
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1071300
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/dispbbs.aspx?rootid=1070730
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1075246
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1073941
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1073940
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1073828
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1073827
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1073648
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1075340
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1073646
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1073584
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1073583
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1072094
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1071656
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1071119
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1071086
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1071018
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1070834
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1070647
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1070530
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1070216
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1070067
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1070059
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1070010
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1069879
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1069818
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1069781
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1069731
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1069589
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1069415
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1069226
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1069160
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1069066
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1069023
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1069020
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1069009
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1068947
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1068907
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1068630
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1068431
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1068336
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1068319
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1068271
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1068198
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1068158
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1071300
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/dispbbs.aspx?rootid=1070730
www.linkshop.com.cn/club/archives/2021/1075246.shtml
www.linkshop.com.cn/club/archives/2021/1073941.shtml
www.linkshop.com.cn/club/archives/2021/1073940.shtml
www.linkshop.com.cn/club/archives/2021/1073828.shtml
www.linkshop.com.cn/club/archives/2021/1073827.shtml
www.linkshop.com.cn/club/archives/2021/1073648.shtml
www.linkshop.com.cn/club/archives/2021/1075340.shtml
www.linkshop.com.cn/club/archives/2021/1073646.shtml
www.linkshop.com.cn/club/archives/2021/1073584.shtml
www.linkshop.com.cn/club/archives/2021/1073583.shtml
www.linkshop.com.cn/club/archives/2020/1072094.shtml
www.linkshop.com.cn/club/archives/2020/1071656.shtml
www.linkshop.com.cn/club/archives/2020/1071119.shtml
www.linkshop.com.cn/club/archives/2020/1071086.shtml
www.linkshop.com.cn/club/archives/2020/1071018.shtml
www.linkshop.com.cn/club/archives/2020/1070834.shtml
www.linkshop.com.cn/club/archives/2020/1070647.shtml
www.linkshop.com.cn/club/archives/2020/1070530.shtml
www.linkshop.com.cn/club/archives/2020/1070216.shtml
www.linkshop.com.cn/club/archives/2020/1070067.shtml
www.linkshop.com.cn/club/archives/2020/1070059.shtml
www.linkshop.com.cn/club/archives/2020/1070010.shtml
www.linkshop.com.cn/club/archives/2020/1069879.shtml
www.linkshop.com.cn/club/archives/2020/1069818.shtml
www.linkshop.com.cn/club/archives/2020/1069781.shtml
www.linkshop.com.cn/club/archives/2020/1069731.shtml
www.linkshop.com.cn/club/archives/2020/1069589.shtml
www.linkshop.com.cn/club/archives/2020/1069415.shtml
www.linkshop.com.cn/club/archives/2020/1069226.shtml
www.linkshop.com.cn/club/archives/2020/1069160.shtml
www.linkshop.com.cn/club/archives/2020/1069066.shtml
www.linkshop.com.cn/club/archives/2020/1069023.shtml
www.linkshop.com.cn/club/archives/2020/1069020.shtml
www.linkshop.com.cn/club/archives/2020/1069009.shtml
www.linkshop.com.cn/club/archives/2020/1068947.shtml
www.linkshop.com.cn/club/archives/2020/1068907.shtml
www.linkshop.com.cn/club/archives/2020/1068630.shtml
www.linkshop.com.cn/club/archives/2020/1068431.shtml
www.linkshop.com.cn/club/archives/2020/1068336.shtml
www.linkshop.com.cn/club/archives/2020/1068319.shtml
www.linkshop.com.cn/club/archives/2020/1068271.shtml
www.linkshop.com.cn/club/archives/2020/1068198.shtml
www.linkshop.com.cn/club/archives/2020/1068158.shtml
www.linkshop.com.cn/club/archives/2020/1071300.shtml
www.linkshop.com.cn/club/archives/2020/1070730.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2021/1075246.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2021/1073941.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2021/1073940.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2021/1073828.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2021/1073827.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2021/1073648.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2021/1075340.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2021/1073646.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2021/1073584.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2021/1073583.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2020/1072094.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2020/1071656.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2020/1071119.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2020/1071086.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2020/1071018.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2020/1070834.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2020/1070647.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2020/1070530.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2020/1070216.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2020/1070067.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2020/1070059.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2020/1070010.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2020/1069879.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2020/1069818.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2020/1069781.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2020/1069731.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2020/1069589.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2020/1069415.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2020/1069226.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2020/1069160.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2020/1069066.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2020/1069023.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2020/1069020.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2020/1069009.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2020/1068947.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2020/1068907.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2020/1068630.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2020/1068431.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2020/1068336.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2020/1068319.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2020/1068271.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2020/1068198.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2020/1068158.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2020/1071300.shtml
www.linkshop.com.cn/club/%28i0vrave2qo4hh1mpgvdpxbrk%29/archives/2020/1070730.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2021/1075246.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2021/1073941.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2021/1073940.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2021/1073828.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2021/1073827.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2021/1073648.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2021/1075340.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2021/1073646.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2021/1073584.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2021/1073583.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2020/1072094.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2020/1071656.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2020/1071119.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2020/1071086.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2020/1071018.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2020/1070834.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2020/1070647.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2020/1070530.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2020/1070216.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2020/1070067.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2020/1070059.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2020/1070010.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2020/1069879.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2020/1069818.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2020/1069781.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2020/1069731.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2020/1069589.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2020/1069415.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2020/1069226.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2020/1069160.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2020/1069066.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2020/1069023.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2020/1069020.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2020/1069009.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2020/1068947.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2020/1068907.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2020/1068630.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2020/1068431.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2020/1068336.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2020/1068319.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2020/1068271.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2020/1068198.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2020/1068158.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2020/1071300.shtml
www.linkshop.com.cn/club/%28u3fq25e52k4joojmhgquw545%29/archives/2020/1070730.shtml
www.newsmth.net/nForum/#!article/Book/69260
www.newsmth.net/nForum/article/Book/69260
m.newsmth.net/article/Book/single/69260/
exp.newsmth.net/topic/62d077831ff99c1ef19d770971a11465
www.newsmth.net/nForum/#!article/Book/69260?5dfRP=_3f9vr
www.newsmth.net/nForum/article/Book/69260?4k8RP=_5f8vr
m.newsmth.net/article/Book/single/69260/?2lhRP=_7c9vz
exp.newsmth.net/topic/62d077831ff99c1ef19d770971a11465?fdeRP=_2f1vp
www.newsmth.net/nForum/#!article/Book/69260?ref=sidebar
www.newsmth.net/nForum/article/Book/69260?ref=sidebar
m.newsmth.net/article/Book/single/69260/?ref=sidebar
exp.newsmth.net/topic/62d077831ff99c1ef19d770971a11465?ref=sidebar
www.newsmth.net/nForum/#!article/Book/69261
www.newsmth.net/nForum/article/Book/69261
m.newsmth.net/article/Book/single/69261/
exp.newsmth.net/topic/34e23d3cb7c1913e41db920a829bf313
www.newsmth.net/nForum/#!article/Book/69261?9yfRP=_4z8vr
www.newsmth.net/nForum/article/Book/69261?8jfRP=_2s9vr
m.newsmth.net/article/Book/single/69261/?3tfRP=_1h9vr
exp.newsmth.net/topic/34e23d3cb7c1913e41db920a829bf313?2yfRP=_8l9vr
www.newsmth.net/nForum/#!article/Book/69261?ref=sidebar
www.newsmth.net/nForum/article/Book/69261?ref=sidebar
m.newsmth.net/article/Book/single/69261/?ref=sidebar
exp.newsmth.net/topic/34e23d3cb7c1913e41db920a829bf313?ref=sidebar
www.douban.com/group/topic/225347891/
www.douban.com/group/topic/225347891
www.douban.com/group/topic/225347891/?type=rec
m.douban.com/group/topic/225347891/
m.douban.com/group/topic/225347891
m.douban.com/mip/group/topic/225347891/
m.douban.com/mip/group/topic/225347891
m.douban.com/mip/group/topic/225347891/?ref=sidebar
m.douban.com/mip/group/topic/225347891/?ref=ubz
m.douban.com/mip/group/topic/225347891//?ref=sidebar
m.douban.com/mip/group/topic/225347891//?ref=ule
m.douban.com/mip/group/topic/225347891/?bdd
m.douban.com/mip/group/topic/225347891/?x31
m.douban.com/mip/group/topic/225347891/?78
wap.douban.com/mip/group/topic/225347891
wap.douban.com/mip/group/topic/225347891/
m.douban.com/mip/group/topic/225347891?qjo582
m.douban.com/mip/group/topic/225347891/?start=0
m.douban.com/mip/group/topic/225347891/?101
m.douban.com/mip/group/topic/225347891/?hce
m.douban.com/mip/group/topic/225347891?m0Cs%2F
www.douban.com/group/topic/225347891/?author=1
m.douban.com/mip/group/topic/225347891/?author=1
www.douban.com/group/topic/225347891/?type=collect
www.douban.com/group/topic/225347891/?start=0
www.douban.com/group/topic/225347891/?cid=2834735781
m.douban.com/mip/group/topic/225347891/?type=collect
m.douban.com/mip/group/topic/225347891/?start=0
m.douban.com/mip/group/topic/225347891/?cid=2834735781
bbs.360che.com/thread-3753432-1-1.html
bbs.360che.com/thread-3672309-1-1.html

服务端

package ch17;

import com.sun.xml.internal.ws.policy.privateutil.PolicyUtils;

import java.io.IOException;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * Created by Jiqing on 2017/1/6.
 */
public class Server {
    public static void main(String[] args) throws IOException{
        // 创建一个ServerSocket
        ServerSocket ss = new ServerSocket(10000);
        // 采用循环不断地接收来自客户端的请求
        while(true) {
            // 每当客户端Socket请求时,服务器端也产生一个socket
            Socket s = ss.accept();
            PrintStream ps = new PrintStream(s.getOutputStream());
            ps.println("服务器的新年祝福!");
            ps.close();
            s.close();
        }
    }
}

客户端

package ch17;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;

/**
 * Created by Jiqing on 2017/1/6.
 */
public class Client {
    public static void main(String[] args) throws IOException{
        Socket socket = new Socket("127.0.0.1",10000);
        BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
        String line = br.readLine();
        System.out.println("来自服务器的数据:"+line);
        br.close();
        socket.close();
    }
}

通过ip+端口号进行数据传输。先运行服务器端,再运行客户端。

// 文件名:moreServer.java import java.io.*; import java.net.*; import java.util.*; /** * <p>Title: 多线程服务器</p> * <p>Description: 本实例使用多线程实现多服务功能。</p> * <p>Copyright: Copyright (c) 2003</p> * <p>Filename: </p> * @author 杜江 * @version 1.0 */ class moreServer { public static void main (String [] args) throws IOException { System.out.println ("Server starting...\n"); //使用8000端口提供服务 ServerSocket server = new ServerSocket (8000); while (true) { //阻塞,直到有客户连接 Socket sk = server.accept (); System.out.println ("Accepting Connection...\n"); //启动服务线程 new ServerThread (sk).start (); } } } //使用线程,为多个客户端服务 class ServerThread extends Thread { private Socket sk; ServerThread (Socket sk) { this.sk = sk; } //线程运行实体 public void run () { BufferedReader in = null; PrintWriter out = null; try{ InputStreamReader isr; isr = new InputStreamReader (sk.getInputStream ()); in = new BufferedReader (isr); out = new PrintWriter ( new BufferedWriter( new OutputStreamWriter( sk.getOutputStream ())), true); while(true){ //接收来自客户端的请求,根据不同的命令返回不同的信息。 String cmd = in.readLine (); System.out.println(cmd); if (cmd == null) break; cmd = cmd.toUpperCase (); if (cmd.startsWith ("BYE")){ out.println ("BYE"); break; }else{ out.println ("你好,我是服务器!"); } } }catch (IOException e) { System.out.println (e.toString ()); } finally { System.out.println ("Closing Connection...\n"); //最后释放资源 try{ if (in != null) in.close (); if (out != null) out.close (); if (sk != null) sk.close (); } catch (IOException e) { System.out.println("close err"+e); } } } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值