这里有一个用Random()函数产生的随机数程序,同时还有流式Socket通信程序。如下:
import java.util.*;class c2   
{
   public static void main(String[] args)    {
Random random = new Random();     
        System.out.println(random.nextFloat());   
        System.out.println(random.nextDouble());   
        System.out.println(random.nextFloat());    }}
//Socket 客户端程序
import java.net.*;
import java.io.*;
public class c14_6{
 public static void main(String[] args)
  {
  String str;
  try{
//InetAddress addr=InetAddress.getByName("127.0.0.1");
  InetAddress addr=InetAddress.getLocalHost();
  Socket socket=new Socket(addr,8000);
  System.out.println("Socket:"+socket);
  // 获得对应socket的输入/输出流
   InputStream fIn=socket.getInputStream();
   OutputStream fOut=socket.getOutputStream();
  //  建立数据流
   InputStreamReader isr=new InputStreamReader(fIn);
   BufferedReader in=new BufferedReader(isr);
   PrintStream out=new PrintStream(fOut);
   InputStreamReader userisr=new InputStreamReader(System.in);
   BufferedReader userin=new BufferedReader(userisr);
   while(true){
 System.out.print("发送字符串:");
 str=userin.readLine();  //读取用户输入的字符串
 out.println(str);  //将字符串传给服务器端
 if(str.equals("end"))break;  //如果是end则退出
       System.out.println("等待服务器端消息...");
   str=in.readLine();  //获取服务器获得字符串
   System.out.println("服务器端字符:"+str);
   if(str.equals("end"))break;
      }
    socket.close();  //关闭连接
  }
 catch(Exception e){
 System.out.println("异常:"+e);}
    }
  }
//Socke 服务器端程序 
import java.net.*;
import java.io.*;
public class c14_5{
public static final int port=8000;
    public static void main(String args[])
{
      String str;
  try{   //在端口port注册服务
      ServerSocket server=new ServerSocket(port);  //创建当前线程的监听对象
  System.out.println("Started: "+server);
  Socket socket=server.accept();  //负责C/S通信的Socket对象
  System.out.println("Socket: "+socket);
  //获得对应Socket的输入/输出流
  InputStream fIn=socket.getInputStream();
  OutputStream fOut=socket.getOutputStream();
  //建立数据流
  InputStreamReader isr=new InputStreamReader(fIn);
  BufferedReader in=new BufferedReader(isr);
  PrintStream out=new PrintStream(fOut);
  InputStreamReader userisr=new InputStreamReader(System.in);
  BufferedReader userin=new BufferedReader(userisr);
  while(true){
  System.out.println("等待客户端的消息");
  str=in.readLine();  //读客户端传送的字符串
  System.out.println("客户端:"+str);  //显示字符串/                                                                 
  if(str.equals("end"))break;  //如果是end,则退出
  System.out.print("给客户端发送:");
  str=userin.readLine();
  out.println(str);   //向客户端发送消息
  if(str.equals("end"))break;
  }//while
  socket.close();
  server.close();
  }//try
  catch(Exception e){
  System.out.println("异常:"+e);}
 }
}怎么才能把产生随机数的函数添加到通信程序中。
小妹急需帮助,谢了。请各位高手给予帮助。

解决方案 »

  1.   

    说清楚一点,就是由Random()产生三个随机数,再用流式Socket通信将其传输给客户端。
    怎么没人理我?
    小妹急需帮助,请各位高手给予帮助。谢了
      

  2.   

    服务器端
    str=in.readLine();一行改掉:DataOutputStream out = new DataOutputStream(fOut);str = String.valueOf(Math.random());
    out.writeUTF(str);大体这么个意思,看得出来,你的基础不好,应该好好看看流和线程,建议这些工作放到一个线程完成
      

  3.   

    To yanhan0615(炮炮):
    我还是不懂,
    可不可以说清楚一点?
    帮帮我,急需。谢了。