请问怎样把每次client发过去的x储存进一个stack 并在最后加起来呢??
希望哪位大侠帮忙给出代码
谢谢哦
【双手把50分奉上】
下面是代码import java.io.*;
import java.net.*;
class SqrtServer {
final static int portSqrt = 1234; // any number > 1024
public static void main(String[] args) {
System.out.println("Server running..."); 
        try {   
            ServerSocket servesock = new ServerSocket(portSqrt);
            // for service requests on port portSqrt
            while (true) {
                    // wait for a service request on port portSqrt
                    Socket socket = servesock.accept(); 
                    // start thread to service request
                    new Thread(new SquareRoot(socket)).start();
            }
        } catch (IOException e) {e.printStackTrace();}
    }
} class SquareRoot implements Runnable {          Socket socket;
        SquareRoot(Socket s) {
            socket = s;
        }    
    
        public void run() {
            try { 
                DataInputStream in = 
                    new DataInputStream(socket.getInputStream());
                DataOutputStream out =
                    new DataOutputStream(socket.getOutputStream());
                int x = in.readInt(); // get number from client
  
              // calculate square root
                int i = 0;
                while ((i+1)*(i+1)<= x) i++;
                out.writeInt(i); // send square root
                socket.close(); // close connection
            } catch (IOException e) {}
        }
    }import java.io.*;
import java.net.*;class SqrtClient {      private final static int portSqrt = 1234;     public static void main(String[] args) {
     int x = 0;
     while (x < 10){
        try {
            Socket socket;
            socket = new Socket(InetAddress.getLocalHost(),portSqrt);
  DataInputStream in = new 
DataInputStream(socket.getInputStream());
            DataOutputStream out = new
 DataOutputStream(socket.getOutputStream());
            out.writeInt(x); 
            int n = in.readInt(); // wait for result from server 
            System.out.println("Integer square root of "+ x + " = " + n);  
            socket.close();
        } catch (IOException e) {System.out.println(e);}
        x = x + 1;
     }
   }
}

解决方案 »

  1.   

    不知道楼主要怎么加起来,存我是给你存进去了。给我50/2分就行
    import java.io.*;
    import java.net.*;
    import java.util.Stack;class SqrtServer {
    final static int portSqrt = 1234;
    final static Stack<Integer> stack = new Stack<Integer>();
    // any number > 1024
    public static void main(String[] args) {
    System.out.println("Server running...");
    try {
    ServerSocket servesock = new ServerSocket(portSqrt); // for service requests on port portSqrt
    while (true) { // wait for a service request on port portSqrt
    Socket socket = servesock.accept(); // start thread to service request
    new Thread(new SquareRoot(socket)).start();
    }
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    }class SquareRoot implements Runnable {
    Socket socket; SquareRoot(Socket s) {
    socket = s;
    } public void run() {
    try {
    DataInputStream in = new DataInputStream(socket.getInputStream());
    DataOutputStream out = new DataOutputStream(socket
    .getOutputStream());
    int x = in.readInt(); // get number from client calculate square root
    SqrtServer.stack.push(x);
    int i = 0;
    while ((i + 1) * (i + 1) <= x)
    i++;
    out.writeInt(i); // send square root
    socket.close(); // close connection
    } catch (IOException e) {
    }
    }
    }
      

  2.   


    看看这个:下列描述了JNSP(java  network service platform)服务的部署和功能,如有不明白之处,自己查看源代码,我无力和没有太多时
    间回答太多的问题.源代码一起提供,按 GPL 协议维护。
    如果查看后有技术问题探讨和建议的,欢迎致电致信联系.该程序已经发布于网络,http://code.google.com/p/java-nsp/系统架构设计和实现有如下特点:
    A. 采用 Accept-Connect 通讯模型,能统一管理系统中使用的所有 Socket 资源;
    B. 系统支持通信和协议分离的实现原则,支持自定义协议解析模块,并把协议解析扩展到TCP连接上;
    通信负责数据收发,协议负责数据鉴别,两者配合实现通信和协议的和谐工作;
    C. 灵活支持业务处理功能重定义,分级支持慢业务和快业务的不同业务处理线程;
    D. 丰富灵活的配置参数,能满足高扩展性;
    E. 使用线性的而非嵌套的状态管理,配合业务处理和通信模型,能异步的管理所有的交互步骤;
    F. 分布式服务设计和部署,实现动态(热拔插)的增加和较少业务服务器,减少乃至拒绝单点服务;
    G. 已经支持TCP协议层上的二进制和文本协议
    H. 目前源代码已经采用 GPL协议开源发布到: http://code.google.com/p/java-nsp/
      

  3.   

    接收的开个static,接到一个+一个,随便加
      

  4.   

    不好意思  回晚了 但是在此谢谢cangyingzhijia 和 crazylaa
    嘻嘻 
    大家新年快乐