-4
我創建了一個移動運營商,它將號碼發送到服務器,,我添加了一個線程,但它始終顯示我0,我需要做什麼來增加我的線程,以便像>第一次>線程 - 0,第二次> THread-1等等。就像在IMG IMG 我的代碼:如何在java中實現線程
package PPC4;
import java.io.*;
import java.net.InetAddress;
import java.net.Socket;
import java.util.Random;
public class Client extends Thread {
Client() {
// The compiler creates the byte code equivalent of super();
}
Client(String name) {
super (name); // Pass name to Thread superclass
}
public static Socket socket;
public void run() {
Random randomGenerator = new Random();
String host = "localhost";
int port = 25000;
try {
InetAddress address = InetAddress.getByName(host);
socket = new Socket(address, port);
//Send the message to the server
OutputStream os = socket.getOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(os);
BufferedWriter bw = new BufferedWriter(osw);
int randomInt = randomGenerator.nextInt(999999);
String number = "069"+randomInt;
String sendMessage = (number+1) + "\n";
bw.write(sendMessage);
bw.flush();
System.out.println("The telephone number sent to the server: "+sendMessage);
System.out.println ("The following user connected : " + getName());
//Get the return message from the server
InputStream is = socket.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String message = br.readLine();
System.out.print(" " +message);
} catch(Exception exception) {
exception.printStackTrace();
}
}
public static void main(String args[]) {
{
Client mt;
if (args.length == 0)
mt = new Client();
else
mt = new Client(args[0]);
mt.start();
}
}
}
我需要通過那個參數在哪裏?,我不明白:( –
@JohnCoffey在你的主要方法,if語句中看到的代碼?那mt = new Client(args [0]);意思是什麼在程序啓動時作爲參數傳遞,它將被傳遞給客戶端的構造函數,並在客戶端的構造函數中設置線程的名字 –
對不起Ivan,你能告訴我我需要改變什麼嗎? –