Chinaunix首页 | 论坛 | 博客
  • 博客访问: 8353257
  • 博文数量: 1413
  • 博客积分: 11128
  • 博客等级: 上将
  • 技术积分: 14685
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-13 10:03
个人简介

follow my heart...

文章分类

全部博文(1413)

文章存档

2013年(1)

2012年(5)

2011年(45)

2010年(176)

2009年(148)

2008年(190)

2007年(293)

2006年(555)

分类: Java

2009-03-14 19:18:55

多个客户端同时连接服务端,在现实生活中用得比较多.同时执行多项任务,第一想到的当然是多线程了.下面用多线程来实现并发多连接.
 

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

public class ThreadServer extends Thread
{
    private Socket client;

    public ThreadServer(Socket c)
    {
        this.client=c;
    }

    public void run()
    {
        try
        {
            BufferedReader in=new BufferedReader(new InputStreamReader(client.getInputStream()));
            PrintWriter out=new PrintWriter(client.getOutputStream());
            //Mutil User but can't parallel

            while (true)
            {
                String str=in.readLine();
                System.out.println(str);
                out.println("has receive....");
                out.flush();
                if (str.equals("end"))
                    break;
            }
            client.close();
        }
        catch (IOException ex)
        {
        }
        finally
        {

        }
    }
    public static void main(String[] args)throws IOException
    {
        ServerSocket server=new ServerSocket(8000);
        while (true)
        {
            //transfer location change Single User or Multi User

            ThreadServer mu=new ThreadServer(server.accept());
            mu.start();
        }
    }
}

 

阅读(1373) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~