CRC
import [Link];
public class CRC {
// Function to perform XOR operation
static String xor(String a, String b) {
StringBuilder result = new StringBuilder();
for (int i = 1; i < [Link](); i++) {
[Link]([Link](i) == [Link](i) ? '0' : '1');
}
return [Link]();
}
// Function to perform CRC calculation
static String calculateCRC(String input1, String input2) {
int l = [Link]();
// Step 1: Append (l-1) zeros to input1
String dividend = input1 + "0".repeat(l - 1);
String temp = [Link](0, l);
// Step 2: Perform binary division using XOR
for (int i = l; i <= [Link](); i++) {
if ([Link](0) == '1') {
temp = xor(input2, temp) + (i < [Link]() ?
[Link](i) : "");
} else {
temp = xor("0".repeat(l), temp) + (i < [Link]() ?
[Link](i) : "");
}
}
// Step 3: The final remainder is stored in temp
String remainder = temp;
// Step 4: Append remainder to original input1 to get the final
codeword
return input1 + remainder;
}
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
// Take inputs
[Link]("Enter the dataword (binary): ");
String input1 = [Link]();
[Link]("Enter the divisor (binary): ");
String input2 = [Link]();
// Calculate CRC
String codeword = calculateCRC(input1, input2);
// Display results
[Link]("Final Codeword: " + codeword);
}
}
SOCKET
[Link]
import socket
def start_server():
# Create a TCP/IP socket
server_socket = [Link](socket.AF_INET, socket.SOCK_STREAM)
# Bind the socket to the address and port
server_address = ('localhost', 12345)
print(f'Starting server on {server_address[0]}:{server_address[1]}')
server_socket.bind(server_address)
# Listen for incoming connections
server_socket.listen(1)
while True:
print('Waiting for a connection...')
client_socket, client_address = server_socket.accept()
try:
print(f'Connection from {client_address}')
while True:
# Receive data from client
data = client_socket.recv(1024).decode()
print(f'Received: {data}')
if [Link]('My name is'):
# Extract name and send greeting
name = [Link]('My name is ', '')
response = f'Hello {name}'
client_socket.send([Link]())
elif [Link]('Registration'):
# Process registration number
reg_num = [Link]('Registration ', '')
response = f'Registration number {reg_num} is enrolled in
VIT'
client_socket.send([Link]())
elif data == 'Bye':
# Send goodbye message and close connection
client_socket.send('Goodbye'.encode())
break
elif not data:
break
finally:
print('Closing connection')
client_socket.close()
if __name__ == '__main__':
try:
start_server()
except KeyboardInterrupt:
print("\nServer shutting down...")
[Link]
import socket
import sys
def start_client():
# Create a TCP/IP socket
client_socket = [Link](socket.AF_INET, socket.SOCK_STREAM)
# Connect to the server
server_address = ('localhost', 12345)
print(f'Connecting to {server_address[0]}:{server_address[1]}')
client_socket.connect(server_address)
try:
# Send name
name = input("Enter your message (format: My name is <your
name>): ")
client_socket.send([Link]())
# Receive response
response = client_socket.recv(1024).decode()
print(f'Server response: {response}')
# Send registration number
reg_num = input("Enter your registration number: ")
message = f'Registration {reg_num}'
client_socket.send([Link]())
# Receive response
response = client_socket.recv(1024).decode()
print(f'Server response: {response}')
# Send goodbye
bye_message = input("Enter 'Bye' to send to the server: ")
while bye_message.strip().lower() != 'bye':
bye_message = input("Please enter 'Bye': ")
client_socket.send(bye_message.encode())
# Receive final response
response = client_socket.recv(1024).decode()
print(f'Server response: {response}')
finally:
print('Closing socket')
client_socket.close()
if __name__ == '__main__':
try:
start_client()
except KeyboardInterrupt:
print("\nClient shutting down...")