要するに、このエラーが発生したのは、クライアント・プログラムが8080番ポートに接続しようとしたが、そのポートで新しい接続をリッスンしているプログラムがなかったからだ。
2つのプログラムがソケットを使って通信するには、1つのプログラムがあるポートで接続待ちを開始し、その後に別のプログラムが同じポートに接続しようとしなければなりません。通常、あるポートで接続をリッスンするプログラムを「サーバー」と呼び、接続を試みるプログラムを「クライアント」と呼ぶ。
したがって、例のコードを動作させるには、まずサーバー・プログラムを実行し、次にクライアント・プログラムを実行する必要がある。
In short, the reason you got that error is that the client program tried to connect to port 8080, but there was no program listening for new connections on that port.
For two programs to communicate using sockets, one program must start listening for connections on a port, and another program must try to connect to the same port afterwards. Usually the program that listens for connections on a port is called the "server", and the program that attempts to make a connection is the "client".
So, in order for the example code to work, you have to run the server program first, and then the client program.