Week-12 App assignment
Week-12 App assignment
PROGRAMMING
PRACTICE
ASSIGNMENT-12
RA2211026010486
G.Abiram cse-Aiml
Programs:
1.Develop a simple Python program of TCP, client that
can connect to the server and
client can send a "Hello, Server!" message to the
server.
Ans:
import socket
# Server's host and port
server_host = 'localhost' # Change this to the server's
hostname or IP address
server_port = 12345 # Change this to the server's port
try:
# Connect to the server
client_socket.connect((server_host, server_port))
except ConnectionRefusedError:
print("Connection to the server failed. Make sure
the server is running and check the host and port.")
finally:
# Close the socket
client_socket.close()
Output:
Server says: Hello, Client!
Ans:
1.Server(server.py):
import socket
import pickle
while True:
client_socket, client_address =
server_socket.accept()
data = client_socket.recv(1024)
if not data:
break
client_socket.send(str(result).encode())
client_socket.close()
Output:
Server is ready to receive data…
2.client (client.py)
import socket
import pickle
try:
# Connect to the server
client_socket.connect((server_host, server_port))
except ConnectionRefusedError:
print("Connection to the server failed. Make sure
the server is running and check the host and port.")
finally:
# Close the socket
client_socket.close()
Output:
Sum of numbers received from the server: 15
while True:
data, client_address = server_socket.recvfrom(1024)
print(f"Received message from {client_address}:
{data.decode()}")
# Message to send
message = "UDP Message"
Output:
Server(servers.py):
Server is ready to receive UDP messages...
Received message from ('127.0.0.1', 56789): UDP
Message
Client (client.py):
Sent message to localhost:12345: UDP Message
Ans:
UDP server (server.py)
import socket
while True:
data, client_address = server_socket.recvfrom(1024)
received_number = int(data.decode())
result = "Even" if received_number % 2 == 0 else
"Odd"
server_socket.sendto(result.encode(),
client_address)
Output:
Server ( server.py)
Server is ready to receive UDP messages...
Client (client.py)
Sending random number to server: 42
Received result from server (('127.0.0.1', 12345)): Even
5.Write a Python program to create a UDP server that
listens on port 54321. Ensure the
server can receive UDP packets from clients.
Ans:
import socket
while True:
data, client_address = server_socket.recvfrom(1024)
print(f"Received packet from {client_address}:
{data.decode()}")
Output:
Server is ready to receive UDP packets on port 54321...
Received packet from ('127.0.0.1', 54321): Hello,
Server!
Received packet from ('192.168.0.100', 54321): UDP
data from client
Received packet from ('10.0.0.2', 54321): Another UDP
packet
6.Extend the UDP server to respond to the client's
"UDP Message" packet with an
acknowledgment message. Provide the code for the
server-client interaction.
Ans:
UDP server (server.py)
import socket
while True:
data, client_address = server_socket.recvfrom(1024)
received_data = data.decode()
# Message to send
message = "UDP Message"
Output:
Server ( server.py)
Server is ready to receive and respond to UDP packets
on port 54321...
Received packet from ('127.0.0.1', 54321): UDP
Message
Client ( client.py)
Received acknowledgment from server (('127.0.0.1',
54321)): ACK: UDP Message
Ans:
import socket
import time
while True:
client_socket, client_address =
server_socket.accept()
data = client_socket.recv(1024)
client_socket.send("Hello, Client!".encode())
client_socket.close()
Output:
Response from server: Hello, Client!
Time taken to connect and receive response:
0.00532078742980957 seconds
while True:
client_socket, client_address =
server_socket.accept()
data = client_socket.recv(1024)
client_socket.send(data) # Echo the received
message back to the client
client_socket.close()
Output:
Server is ready to echo messages...
while True:
client_socket, client_address =
server_socket.accept()
received_file = open("received_file.txt", "wb") #
Open a file to save received data
while True:
data = client_socket.recv(1024)
if not data:
break
received_file.write(data)
received_file.close()
client_socket.close()
print(f"File received and saved as received_file.txt")
Output:
Server is ready to receive files...
File received and saved as received_file.txt
Ans:
import socket
while True:
data, client_address = server_socket.recvfrom(1024)
received_data = data.decode()
print(f"Received packet from {client_address}:
{received_data}")
Output:
Server is ready to receive UDP packets...
Received packet from ('127.0.0.1', 54321): UDP Packet
1
Received packet from ('127.0.0.1', 54321): UDP Packet
2
Received packet from ('127.0.0.1', 54321): UDP Packet
3