java多线程—socket编程实例

java多线程—socket编程实例

ID:21724038

大小:37.72 KB

页数:19页

时间:2018-10-24

java多线程—socket编程实例_第1页
java多线程—socket编程实例_第2页
java多线程—socket编程实例_第3页
java多线程—socket编程实例_第4页
java多线程—socket编程实例_第5页
资源描述:

《java多线程—socket编程实例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、多线程JavaSocket编程示例这篇做为学习孙卫琴<>的学习笔记吧.其中采用Java5的ExecutorService来进行线程池的方式实现多线程,模拟客户端多用户向同一服务器端发送请求.1.服务端package sterning;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStrea

2、m;import java.io.PrintWriter;import java.net.*;import java.util.concurrent.*;public class MultiThreadServer {    private int port=8821;    private ServerSocket serverSocket;    private ExecutorService executorService;//线程池    private final int POOL_SIZE=10;//单个CPU线程池大小   

3、     public MultiThreadServer() throws IOException{        serverSocket=new ServerSocket(port);        //Runtime的availableProcessor()方法返回当前系统的CPU数目.        executorService=Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors()*POOL_SIZE);        System.ou

4、t.println("服务器启动");    }        public void service(){        while(true){            Socket socket=null;            try {                //接收客户连接,只要客户进行了连接,就会触发accept();从而建立连接                socket=serverSocket.accept();                executorService.execute(new Handler

5、(socket));                            } catch (Exception e) {                e.printStackTrace();            }        }    }        public static void main(String[] args) throws IOException {        new MultiThreadServer().service();    }}class Handler implements Runnable

6、{    private Socket socket;    public Handler(Socket socket){        this.socket=socket;    }    private PrintWriter getWriter(Socket socket) throws IOException{        OutputStream socketOut=socket.getOutputStream();        return new PrintWriter(socketOut,true);    }   

7、 private BufferedReader getReader(Socket socket) throws IOException{        InputStream socketIn=socket.getInputStream();        return new BufferedReader(new InputStreamReader(socketIn));    }    public String echo(String msg){        return "echo:"+msg;    }    public v

8、oid run(){        try {            System.out.println("New connection accepted "+socket.getInetA

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。