From b5a07e3d80b1c9ae43436e4f12633eb7af616944 Mon Sep 17 00:00:00 2001 From: Karthic Date: Fri, 24 Apr 2026 14:19:51 +0530 Subject: [PATCH 1/3] Add files via upload --- Screenshot 2026-04-24 141858.png | Bin 0 -> 14645 bytes Screenshot 2026-04-24 141908.png | Bin 0 -> 12396 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 Screenshot 2026-04-24 141858.png create mode 100644 Screenshot 2026-04-24 141908.png diff --git a/Screenshot 2026-04-24 141858.png b/Screenshot 2026-04-24 141858.png new file mode 100644 index 0000000000000000000000000000000000000000..38048d19d66f90ae73111d88b449ffa59cf7a202 GIT binary patch literal 14645 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

J1uIca^<@V;h?}!cau@Iu?RPfT03NbiwNtS9a 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

+{hpvXnLwI9xIi((7A8vfM? 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 Date: Fri, 24 Apr 2026 14:35:47 +0530 Subject: [PATCH 2/3] success --- README.md | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ client.py | 20 ++++++++++++++++++ server.py | 26 ++++++++++++++++++++++++ 3 files changed, 107 insertions(+) create mode 100644 client.py create mode 100644 server.py diff --git a/README.md b/README.md index 4adef36e..6f425667 100644 --- a/README.md +++ b/README.md @@ -53,6 +53,67 @@ Socket programming finds applications in various domains, including web developm 4. Networked Games: Online multiplayer games rely on socket programming to facilitate communication between game clients and servers. 5. RPC mechanisms: which allow processes to execute code on a remote server, often use socket programming for communication. +<<<<<<< HEAD +======= +## Program: +# Client.py +``` +import socket + +# Create a socket object +client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + +# Connect to the server +client_socket.connect(('localhost', 8000)) + +# Print the client's socket name +print(f"Client connected from: {client_socket.getsockname()}") + +# Receive a message from the server +server_message = client_socket.recv(1024).decode() +print(f"Received from server: {server_message}") + +# Send a message to the server +client_socket.send("Acknowledgement received from the client.".encode()) + +# Close the connection +client_socket.close() +``` +# Server.py +```import socket + +# Create a socket object +server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + +# Bind the socket to the host and port +server_socket.bind(('localhost', 8000)) + +# Listen for incoming connections (max 1 connection) +server_socket.listen(1) +print("Server is waiting for a connection...") + +# Accept the connection +conn, addr = server_socket.accept() +print(f"Connected by {addr}") + +# Send a message to the client +conn.send("Hello from the server!".encode()) + +# Receive a message from the client +data = conn.recv(1024) +print(f"Received from client: {data.decode()}") + +# Close the connection +conn.close() +server_socket.close() +``` +## Output: + +# client: +![alt text]() +# server: +![alt text]() +>>>>>>> c08808c (sucess) ## Result: Thus the study of Socket Programming Completed Successfully diff --git a/client.py b/client.py new file mode 100644 index 00000000..5e2034db --- /dev/null +++ b/client.py @@ -0,0 +1,20 @@ +import socket + +# Create a socket object +client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + +# Connect to the server +client_socket.connect(('localhost', 8000)) + +# Print the client's socket name +print(f"Client connected from: {client_socket.getsockname()}") + +# Receive a message from the server +server_message = client_socket.recv(1024).decode() +print(f"Received from server: {server_message}") + +# Send a message to the server +client_socket.send("Acknowledgement received from the client.".encode()) + +# Close the connection +client_socket.close() diff --git a/server.py b/server.py new file mode 100644 index 00000000..b456686d --- /dev/null +++ b/server.py @@ -0,0 +1,26 @@ +import socket + +# Create a socket object +server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + +# Bind the socket to the host and port +server_socket.bind(('localhost', 8000)) + +# Listen for incoming connections (max 1 connection) +server_socket.listen(1) +print("Server is waiting for a connection...") + +# Accept the connection +conn, addr = server_socket.accept() +print(f"Connected by {addr}") + +# Send a message to the client +conn.send("Hello from the server!".encode()) + +# Receive a message from the client +data = conn.recv(1024) +print(f"Received from client: {data.decode()}") + +# Close the connection +conn.close() +server_socket.close() From 3b1fdf2609117c46da6deb7304a29a936304d4cc Mon Sep 17 00:00:00 2001 From: Karthic Date: Fri, 24 Apr 2026 14:52:41 +0530 Subject: [PATCH 3/3] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6f425667..abf06648 100644 --- a/README.md +++ b/README.md @@ -114,6 +114,6 @@ server_socket.close() ![alt text]() # server: ![alt text]() ->>>>>>> c08808c (sucess) + ## Result: Thus the study of Socket Programming Completed Successfully