关闭

网络程序设计-为多个客户服务服务器端设计

145人阅读 评论(0) 收藏 举报
分类:
package bjfu.dianzi.wzz;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.logging.Handler;

public class MultiThreadServer {
    public static void main(String[] args) {
        try{
            ServerSocket serverSocket=new ServerSocket(8000);
            int clientNo=1;
            while(true)
            {
                Socket connectToClient =serverSocket.accept();//monitor the request from client
                System.out.println("the thread open for client is "+clientNo);
                InetAddress clientInetAddress=connectToClient.getInetAddress();//get the address
                System.out.println("customer's "+clientNo+"hostname is "+clientInetAddress.getHostName());
                System.out.println("customer's "+clienNo+"ip address is "+clientInetAddress.getHostAddress());
                ThreadHandler thread=new ThreadHandler(connectToClient,clientNo);
                Thread.start();
                clientNo++;
                
            }
        }catch(IOException e){
            e.printStackTrace();
        }
    }
}
class ThreadHandler extends Thread
{
    private Socket connnectToClient;
    public ThreadHandler(Socket socket,int i)
    {
        connnectToClient=socket;
    }
    @Override
    public void run ()
    {
        try{
            DataInputStream isFromClient =new DataInputStream(connnectToClient.getInputStream());
            DataOutputStream osToClient =new DataOutputStream(connnectToClient.getOutputStream());
            while(true)
            {
                int num=isFromClient.readInt();
                System.out.println("the number received from client is "+num);
                int sq=num*num;
                osToClient.writeInt(sq);
                System.out.println("square number is "+sq);
            }
        }catch(IOException e){
            e.printStackTrace();
        }
    }
}



























0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:13357次
    • 积分:978
    • 等级:
    • 排名:千里之外
    • 原创:89篇
    • 转载:5篇
    • 译文:0篇
    • 评论:3条
    最新评论