Sometimes servers are down, so clients cannot connect to them. Python raises an exception of type ConnectionRefusedError in a client program when a network connection is refused. You can generate this error by running the timeclient.py file. Add exception handling code to the server logic in timeclient.py to catch and recover from this kind of exception. To recover from this exception, simply print the message Error connecting to the server and terminate the program. This lab follows a client server model. In order for the client program to connect to the server the following steps must be taken: Enter python3 timeserver.py into the first Terminal. Open a new terminal tab by clicking the '+' at the top of the terminal pane. Enter python3 timeclient.py into the second Terminal. The client code will now be able to establish a connection to the server. In order to test your error handling logic, run python3 timeclient.py into the terminal without starting the timesever. If you have already started the timeserver, use CTL+C to terminate the process or close the terminal window which is running the timeserver. """ File: timeclient.py Project 10.2 Client for obtaining the day and time. Recovers from connection errors. """ from socket import * from codecs import decode HOST = "localhost"  PORT = 5000 BUFSIZE = 1024 ADDRESS = (HOST, PORT) server = socket(AF_INET, SOCK_STREAM)               # Create a socket server.connect(ADDRESS)                             # Connect it to a host dayAndTime = decode(server.recv(BUFSIZE), "ascii")  # Read a string from it print(dayAndTime) server.close()

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Sometimes servers are down, so clients cannot connect to them. Python raises an exception of type ConnectionRefusedError in a client program when a network connection is refused.

You can generate this error by running the timeclient.py file.

Add exception handling code to the server logic in timeclient.py to catch and recover from this kind of exception. To recover from this exception, simply print the message Error connecting to the server and terminate the program.

This lab follows a client server model. In order for the client program to connect to the server the following steps must be taken:

  1. Enter python3 timeserver.py into the first Terminal.
  2. Open a new terminal tab by clicking the '+' at the top of the terminal pane.
  3. Enter python3 timeclient.py into the second Terminal.

The client code will now be able to establish a connection to the server.

In order to test your error handling logic, run python3 timeclient.py into the terminal without starting the timesever. If you have already started the timeserver, use CTL+C to terminate the process or close the terminal window which is running the timeserver.

"""
File: timeclient.py
Project 10.2
Client for obtaining the day and time. Recovers from connection
errors.
"""

from socket import *
from codecs import decode

HOST = "localhost" 
PORT = 5000
BUFSIZE = 1024
ADDRESS = (HOST, PORT)

server = socket(AF_INET, SOCK_STREAM)               # Create a socket
server.connect(ADDRESS)                             # Connect it to a host
dayAndTime = decode(server.recv(BUFSIZE), "ascii")  # Read a string from it
print(dayAndTime)
server.close()      
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 8 steps with 5 images

Blurred answer
Knowledge Booster
Fundamentals of system reliability
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education