各位请看一下这个代码 你的代码还是不全啊,每过100毫秒创建一个Client实例,但是又不运行这个线程。我不知道你你想干什么?网友,能不能把要做的东西说的详细一点,不会是想让我们猜你的想法吧! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 建议将ConClient类中:while(setup){ new Client(addr); Thread.currentThread().sleep(100); }改为:while(true){ if(setup){ new Client(addr); } Thread.currentThread().sleep(100); }则在你按了setup按钮后,每隔0。1秒产生一个连接。如果你是想每按动setup按钮就产生一个客户端的连接的话,则需要一个恢复setup为false的机制。 对不起,代码应该是这样的package Clientconect;import javax.swing.UIManager;import java.net.*;import java.io.*;class Client extends Thread{ private Socket socket; private BufferedReader in; private PrintWriter out; private static int count=0; private int id=count++; boolean packFrame = false; private String str; //Construct the application public Client(InetAddress addr) { str=" MAKING THE CLIENT"+id; Frame1 frame = new Frame1(); //Validate frames that have preset sizes //Pack frames that have useful preferred size info, e.g. from their layout if (packFrame) frame.pack(); else frame.validate(); frame.setVisible(true); try { socket=new Socket(addr,8000); }catch (IOException e) {} try{ in =new BufferedReader(new InputStreamReader(socket.getInputStream())); out =new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true); }catch (IOException e) { try { socket.close(); }catch(IOException e2){} start(); } } public void run(){ try{ while (true){ str=in.readLine(); out.println(str); } }catch (IOException e) {} finally{ try{ socket.close(); }catch(IOException e){} } } }public class ConClient{ static boolean setup; public ConClient(){ boolean packFrame = false; StartFrame startframe=new StartFrame(); if (packFrame) startframe.pack(); else startframe.validate(); startframe.setVisible(true); } public static void main(String[] args) throws IOException ,InterruptedException{ new ConClient(); InetAddress addr=InetAddress.getByName(null); while(setup){ new Client(addr); Thread.currentThread().sleep(100); } } } 那请问lmy2000(pluto)在程序里的setup的值为什么会没变呢,我主要是想解决这个问题 程序不知道如何写下去……有问题呀…… 问个题目?关于字母排序和控制台输出的 一个关于javamail的问题,在线等待大侠回答 struts 首页问题 朋友们帮忙看看这个为解决的问题(JAVA)。多谢。 java有没有像C中 scanf之类的东西? 如何關閉一個窗口而不退出程序﹖ 有一个函数,要在每个return之前都执行一段代码怎么弄? 一个不会的人,想学JAVA 编译时抛出异常,请问怎么回事?具体异常内容-》 jbuilder3.0中编译错误信息 SWING问题
while(setup){
new Client(addr);
Thread.currentThread().sleep(100);
}
改为:
while(true){
if(setup){
new Client(addr);
}
Thread.currentThread().sleep(100);
}
则在你按了setup按钮后,每隔0。1秒产生一个连接。
如果你是想每按动setup按钮就产生一个客户端的连接的话,
则需要一个恢复setup为false的机制。
package Clientconect;import javax.swing.UIManager;
import java.net.*;
import java.io.*;class Client extends Thread{
private Socket socket;
private BufferedReader in;
private PrintWriter out;
private static int count=0;
private int id=count++;
boolean packFrame = false;
private String str; //Construct the application
public Client(InetAddress addr) {
str=" MAKING THE CLIENT"+id;
Frame1 frame = new Frame1();
//Validate frames that have preset sizes
//Pack frames that have useful preferred size info, e.g. from their layout
if (packFrame)
frame.pack();
else
frame.validate();
frame.setVisible(true);
try {
socket=new Socket(addr,8000);
}catch (IOException e) {}
try{
in =new BufferedReader(new InputStreamReader(socket.getInputStream()));
out =new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);
}catch (IOException e) {
try {
socket.close();
}catch(IOException e2){}
start();
}
}
public void run(){
try{
while (true){
str=in.readLine();
out.println(str);
}
}catch (IOException e) {}
finally{
try{
socket.close();
}catch(IOException e){}
}
}
}
public class ConClient{
static boolean setup;
public ConClient(){
boolean packFrame = false;
StartFrame startframe=new StartFrame();
if (packFrame)
startframe.pack();
else
startframe.validate();
startframe.setVisible(true);
}
public static void main(String[] args)
throws IOException ,InterruptedException{
new ConClient();
InetAddress addr=InetAddress.getByName(null);
while(setup){
new Client(addr);
Thread.currentThread().sleep(100);
}
}
}
在程序里的setup的值为什么会没变呢,我主要是想解决这个问题