Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 622451
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 13, 20262026-05-13T18:59:09+00:00 2026-05-13T18:59:09+00:00

I am trying to make a simple TCP client and host chat program in

  • 0

I am trying to make a simple TCP client and host chat program in java. They are both running in simple GUIs. After I start my server, it waits for a connection from the client then prints out a message in its JtextArea. The server does this succesfully, everything run fines until here, now I send some data to the client which it is supposed to print on its JtextArea, but the client is stuck from the time the connection was made, the connect button stays pressed and it just freezes.

here is the client connect button code, I think I am doing something wrong here

  private void jButton2MouseClicked(java.awt.event.MouseEvent evt) {                                      
    serverName = t3.getText();
    serverPort = Integer.parseInt(t4.getText());
    try {

        tb.append("\nconnecting...>\n"+temp);
        connect2Server();
        temp = in.readLine();
        tb.append(temp);

    } catch (IOException ex) {
        tb.append(ex.toString());
        Logger.getLogger(DesktopApplication1View.class.getName()).log(Level.SEVERE, null, ex);
    }

}       

   private void connect2Server() throws IOException{
        try{
         skt = new Socket(serverName,serverPort);
            in = new BufferedReader(new
            InputStreamReader(skt.getInputStream()));
        }
        catch(UnknownHostException uh){
            tb.append(uh.toString());
        }
        catch(IOException io){
            tb.append(io.toString());
        }
    }

//vars
BufferedReader in;
Socket skt;
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-13T18:59:09+00:00Added an answer on May 13, 2026 at 6:59 pm

    The reason why your connect button remains pressed is that you are blocking your painting thread. Take a look at the concurrency in Swing tutorial. The gist is that all GUI events in Swing are published in the painting thread, and if you want to do any blocking task (ie server calls) or any other long running process, you should break your process up into separate tasks. All tasks that perform or trigger painting the GUI should be done via the painting thread. Long running tasks should be done in background threads. The SwingWorker is one construct that Java provides for this sort of design.

    Currently, your jButton2MouseClicked method is being run in the painting thread, and will not allow your app to continue to paint, including the unfreezing of your connect button, until your server call is complete.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 453k
  • Answers 453k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer at the moment echo '<script type="text/javascript"> top.location.href = "'.$login_url.'"; </script>';… May 15, 2026 at 9:33 pm
  • Editorial Team
    Editorial Team added an answer You could delegate with a 'focusin' event to setup your… May 15, 2026 at 9:33 pm
  • Editorial Team
    Editorial Team added an answer string[] fields = new string[2]; fields[0] = "title"; fields[1] =… May 15, 2026 at 9:33 pm

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.