将变量值从服务器发送到客户端

时间:2019-05-29 09:55:29

标签: java swing

在服务器上,我创建了一个计数器,用于计算并显示服务器上的时间(从180秒到0)。当前秒数存储在变量time中,并显示在服务器上的jLabel (name seconds)中。

在客户端,我还要在JLabel (name seconds)中显示服务器上显示的当前秒数。是否可以将jLabel (name seconds)(服务器)发送到jLabel (name seconds)(客户端)?

 try{
        Thread.sleep(1000);
        if(i<120 && i>=60){
            int time=i%60;
            String sekundy=Integer.toString(time);
            minutes.setText("01");
            seconds.setText(sekundy);
       }
    }

void uruchom() throws Exception
    {
        Socket socket = s.accept();
        PrintWriter out = new PrintWriter(socket.getOutputStream(), true);

        while(true)
        {
            String przekazSekundy=seconds.getText();
            String przekazMinuty=minutes.getText();
            try
                {

                   //I try doing something like this

                    out.seconds.setText(przekazSekundy);
                }catch(Exception e) {
                    System.out.println("error");
                    socket.close();
                    return;
                }
        }

    }


1 个答案:

答案 0 :(得分:0)

尝试这样的事情

对于服务器端:

PrintWriter writer;
writer = new PrintWriter(socket.getOutputStream();
writer.println(przekazSekundy);
writer.flush();

在客户端:

in = socket.getInputStream();
reader = new BufferedReader(new InputStreamReader(in));
String newstring = "";
message = "";
while(!(newstring = reader.readLine()).equals("")){
    message+=newstring;
    if(!reader.ready())
        break;
}
if(message != "")
   //set your client label text