这里有一个用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);}
}
}怎么才能把产生随机数的函数添加到通信程序中。
小妹急需帮助,谢了。请各位高手给予帮助。
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);}
}
}怎么才能把产生随机数的函数添加到通信程序中。
小妹急需帮助,谢了。请各位高手给予帮助。
解决方案 »
- 我是个java的初学者 请问各位师傅们 有什么好点的辅助教材
- 我写的描述两个字符串相似程度的算法
- 一个简单的问题
- java与mysql连接,mysql-connector-java-5.1.12-bin.jar要与mysql版本一致吗?
- 按钮事件中引入线程的问题——大家测试一下这个程序出错在哪里?
- 一个非常低级的问题
- java 里面有没有类似 C++里面的预编译指令:#ifdef identifier如果identifier为一个定义了的符号,your code就会被编译,否则剔除
- 查询分页的时候抛异常
- 想请教JWindow的问题
- 恕我无知,存在session里和存在cookie里是不是存在了同一地方
- 菜鸟求一解题方法,想和很长时间都没有一个很好的方法解决
- java里面有没有类似brush的笔刷呀?
怎么没人理我?
小妹急需帮助,请各位高手给予帮助。谢了
str=in.readLine();一行改掉:DataOutputStream out = new DataOutputStream(fOut);str = String.valueOf(Math.random());
out.writeUTF(str);大体这么个意思,看得出来,你的基础不好,应该好好看看流和线程,建议这些工作放到一个线程完成
我还是不懂,
可不可以说清楚一点?
帮帮我,急需。谢了。