当前位置:首页
开发技术指南» 文章正文
    引言:

    摘要: 如何让客户端打开服务器上的xls文件(模板),然后用户可以点击“保存”在服务器端生成另外一个xls文件,(如果已经存在则覆盖)。 一开始我用owc的spreadsheet;但是后来不知怎样生成文件到服务器端 急死我了,高手指点一下啊!!! ......
    摘要: 大家推荐一二,这两天我的服务器都快不行了 ......


大家帮我看看这个程序里面有两个地方看不懂:(

就是打//??????????????????????????????的地方,这两个地方我看不太懂,哪位大侠指点一下??  
   
   
  import   java.io.*;  
  import   java.net.*;  
  import   java.util.*;  
   
  //CRobot类模拟机器人的行为  
   
  //worker类继承Thread类  
  class   worker   extends   Thread   {  
   
          Socket   sock;  
          int   nos=8;  
          long   svals[];  
          final   long   s_max_val   =   10000;  
          final   int   max_change   =   500;  
          Random   R;  
           
          //构造函数,以Socket为参数,Socket为来自客户端的连接  
          worker(Socket   s)    
          {    
          int   i;  
          sock   =   s;  
          R=new   Random();  
          svals   =   new   long[nos];  
   
          for   (i=0;i<nos;i++)  
          {  
          //????????????????????????????????????????????????????????????  
          svals[i]=(long)Math.abs(R.nextLong()/((double)Long.MAX_VALUE/s_max_val));  
          }  
          }  
           
          //线程类的run方法,在每个线程中自动运行  
          public   void   run(){  
          int   i;  
          byte   bs[];  
                  System.out.println("Thread   running:"+currentThread()   );  
                   
                  //   Get   I/O   streams   from   the   socket  
                  //定义输入输出流  
                  PrintStream   out   =   null;  
                  InputStreamReader   isr     =   null;  
   
                   
              try   {  
              //从socket中得到输入输出流  
                  out   =   new   PrintStream(   sock.getOutputStream()   );  
                  isr     =   new   InputStreamReader(   sock.getInputStream()   );  
                  BufferedReader   in   =   new   BufferedReader(isr);  
                   
  while(true)  
  {  
                  String   reply   =   new   String("");  
                  byte[]   b={0};  
                   
                  //InSt为客户端输入流  
                  InputStream   InSt=sock.getInputStream();  
                  String   bst;  
   
                  //   get   the   request  
                  //   As   Ascii  
                  //以字节方式从客户端接收用户输入,打印到控制台上,再把该输入并入reply字符串上,直至客户端回车  
                  do  
                  {  
              b[0]=(byte)InSt.read(); /*   read   the   next   byte   */  
              bst=new   String(b); /*   convert   to   UNICODE   */  
              System.out.print(bst);  
              reply=reply   +   bst;  
                  }while(bst.compareTo("\n")!=0);  
                   
                  //把客户端输入输出到控制台  
                  System.out.println("Got   :   "   +   reply);  
                   
                  //当客户端输入含有“sweep”时  
                  if   (reply.indexOf("sweep")   >   -1)  
                  {  
                  //   modify   the   values   and   prepare   the   string  
                  //????????????????????????????????????????????????????????????  
                  String   query="sweep/"+(nos-1);  
                  for   (i=0;i<nos-1;i++)  
                  {  
                  svals[i]+=R.nextInt(max_change*2)-max_change;  
                  svals[i]=Math.abs(svals[i]   %   s_max_val);  
                  query=query+":"+i+1+"/"+svals[i];  
                  }  
   
                  bs=(query+"\n").getBytes();   //convert   to   ascii  
                  out.write(bs,0,query.length()+1);   //send   the   string   as   ASCII   over   the   network  
                  System.out.print("Send   to   Server   :"   +   new   String(bs));  
                  out.flush();  
  //????????????????????????????????????????????????????????????  
                  }  
  }  
              }   catch(IOException   ioe){System.out.println(ioe);   }  
        }        
           
  }  
   
  //CRobot   类模拟机器人的行为  
  public   class   CRobot   {  
          public   static   void   main(String   a[])   throws   IOException   {  
          //程序入口  
                  int   q_len   =   6;  
                  int   port   =   4444;  
                  Socket   sock;  
   
                  //建立一个服务器Socket,指定4444端口,连接数为6  
                  ServerSocket   servsock   =   new   ServerSocket(port,   q_len);  
   
          while   (true)   {  
                  //   接收客户端连接  
                  sock=servsock.accept();  
                   
                  //   开始一个新的Worker线程  
                  new   worker(   sock   ).start();  
            }        
      }  
  }  
   
 

NO.1   作者: kenli

svals[i]=(long)Math.abs(R.nextLong()/((double)Long.MAX_VALUE/s_max_val));  
   
  Math.abs是取R.nextLong的绝对值  
  Long.MAX_VALUE   是   263-1  
  这样可以明白么


    摘要: 我的程序分很多个事务向数据库表中插入数据,后来发现影响了其他程序,我就用ctrl+c终止了我的程序,但发现: 1。我用sp_who察看时,包括如下信息: 0 77 remote i/o abcc_user abcc_user 0 abcc awaiting command 2。我运行一下命令时,报如下信息: 1> use master 2> go 1> ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE