Skip to content

Commit 2e6cb12

Browse files
commit
1 parent c862a49 commit 2e6cb12

12 files changed

+331
-12
lines changed

Diff for: clientcat.py

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import socket, sys, json
2+
from signal import signal, SIGPIPE, SIG_DFL
3+
signal(SIGPIPE,SIG_DFL)
4+
s = socket.socket()
5+
host = socket.gethostname()
6+
port = 5678
7+
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
8+
s.connect((host,port))
9+
10+
while True:
11+
rows = int(input("\nEnter the Number of rows : " ))
12+
column = int(input("Enter the Number of Columns: "))
13+
print("\nEnter the elements of Matrix:")
14+
matrix_a= [[int(input()) for i in range(column)] for i in range(rows)]
15+
print("\nThe entered matrix is: ")
16+
for n in matrix_a:
17+
print(n)
18+
19+
data = json.dumps({"a": matrix_a,"c": rows, "d":column})
20+
s.send(data.encode())
21+
22+
res = s.recv(1024)
23+
res = json.loads(res)
24+
result = res.get("response")
25+
print("\n")
26+
print("Result : ")
27+
print(result)
28+
# print(str(result))
29+
print("\n-------------- Enter another matrix --------------")
30+
s.close()

Diff for: dateclient.py

+71
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
import socket
2+
import os
3+
from ftplib import FTP
4+
from datetime import date
5+
import calendar
6+
7+
class Client:
8+
def __init__(self):
9+
self.s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
10+
self.connect_to_server()
11+
12+
def connect_to_server(self):
13+
self.target_ip = '127.0.0.1'
14+
self.target_port = 8080
15+
16+
self.s.connect((self.target_ip,int(self.target_port)))
17+
18+
self.main()
19+
20+
def reconnect(self):
21+
self.s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
22+
self.s.connect((self.target_ip,int(self.target_port)))
23+
24+
def main(self):
25+
while 1:
26+
file_name = 'input.txt'
27+
self.s.send(file_name)
28+
29+
confirmation = self.s.recv(1024)
30+
if confirmation.decode() == "file-doesn't-exist":
31+
print("File doesn't exist on server.")
32+
33+
self.s.shutdown(socket.SHUT_RDWR)
34+
self.s.close()
35+
self.reconnect()
36+
37+
else:
38+
write_name = 'from_server '+file_name
39+
if os.path.exists(write_name): os.remove(write_name)
40+
41+
with open(write_name,'w+') as file:
42+
while 1:
43+
data = self.s.recv(1024)
44+
45+
if not data:
46+
break
47+
48+
file.write(data)
49+
ManavMonth=(int)(data[0]+data[1])
50+
print(type(ManavMonth))
51+
print("The number of month: ")
52+
print(ManavMonth)
53+
Year= 2021
54+
A=calendar.TextCalendar(calendar.SUNDAY)
55+
for b in range(1,13):
56+
if b!=ManavMonth:
57+
continue
58+
for k in A.itermonthdays(Year,b):
59+
if k!=0:
60+
day=date(Year,b,k)
61+
if day.weekday()==6:
62+
print("%s,%d-%d-%d" % (calendar.day_name[6] ,k,b,Year))
63+
64+
65+
print(file_name,'successfully downloaded.')
66+
67+
self.s.shutdown(socket.SHUT_RDWR)
68+
self.s.close()
69+
self.reconnect()
70+
71+
client = Client()

Diff for: dateserver.py

+53
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
import socket
2+
import threading
3+
import os
4+
from ftplib import FTP
5+
6+
7+
class Server:
8+
def __init__(self):
9+
self.s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
10+
self.accept_connections()
11+
filename = 'input.txt'
12+
localfile = open(filename, 'wb')
13+
ftp.retrbinary('RETR ' + filename, localfile.write, 1024)
14+
ftp.quit()
15+
localfile.close()
16+
17+
def accept_connections(self):
18+
ip = socket.gethostbyname(socket.gethostname())
19+
port = 8080
20+
21+
self.s.bind((ip,port))
22+
self.s.listen(100)
23+
24+
print('Running on IP: '+ip)
25+
print('Running on port: '+str(port))
26+
27+
while 1:
28+
c, addr = self.s.accept()
29+
print(c)
30+
31+
threading.Thread(target=self.handle_client,args=(c,addr,)).start()
32+
33+
def handle_client(self,c,addr):
34+
data = c.recv(1024).decode()
35+
36+
if not os.path.exists(data):
37+
c.send("file-doesn't-exist".encode())
38+
39+
else:
40+
c.send("file-exists".encode())
41+
print('Sending back the response in ' + data)
42+
if data != '':
43+
file = open(data,'rb')
44+
data = file.read(1024)
45+
while data:
46+
c.send(data)
47+
data = file.read(1024)
48+
49+
c.shutdown(socket.SHUT_RDWR)
50+
c.close()
51+
52+
53+
server = Server()

Diff for: fileclient.py

+50-9
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,60 @@
1-
import socket
1+
import json
2+
import socket # Import socket module
3+
import fileinput
4+
25

3-
s = socket.socket()
4-
host = socket.gethostname()
5-
port = 6008
6+
7+
def listToString(my_str):
8+
9+
# initialize an empty string
10+
str1 = " "
11+
12+
# return string
13+
return (str1.join(my_str))
14+
15+
16+
s = socket.socket() # Create a socket object
17+
host = socket.gethostname() # Get local machine name
18+
port = 60000 # Reserve a port for your service.
619

720
s.connect((host, port))
8-
s.send("hello server!")
21+
922

1023
with open('received_file', 'wb') as f:
11-
print('file opened')
24+
# print ('file opened')
1225
while True:
26+
lst = []
27+
28+
# number of elements as input
29+
print("Enter number of elements : ")
30+
print("Writing data to file...")
31+
print("Sending data to server... ")
32+
print("Enter number of elements : ")
33+
# Using fileinput.input() method
34+
for line in fileinput.input(files ='gfg.txt'):
35+
print(line)
36+
37+
n = input()
38+
# iterating till the range
39+
for i in range(0, n):
40+
ele = int(input())
41+
lst.append(ele) # adding the element
42+
43+
string_ints = [str(int) for int in lst]
44+
strr = ",".join(string_ints)
45+
46+
s.send(strr.encode())
47+
48+
print('receiving data...')
1349
data = s.recv(1024)
50+
data_loaded = json.loads(data.decode("utf-8")) #data loaded
51+
print('data=', (data_loaded))
1452
if not data:
1553
break
16-
print('receiving data...')
17-
print('data = ',(data))
54+
# write data to a file
1855
f.write(data)
19-
f.close()
56+
57+
f.close()
58+
print('Successfully get the file')
59+
s.close()
60+
print('connection closed')

Diff for: fileserver.py

+1
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,4 @@
2727
print('Done sending')
2828
conn.send('Thankyou for connecting')
2929
conn.close()
30+

Diff for: from_server input.txt

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
11
2+

Diff for: input.txt

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
[1,3,5,2,3]
2+
3+
#Manav Deep Singh Lamba
4+
#19BIT0217

Diff for: matrixclient.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import socket, sys, json
22
s = socket.socket()
33
host = socket.gethostname()
4-
port = 1511
4+
port = 3000
55
s.connect((host, port))
66

77
while True:
@@ -18,7 +18,6 @@
1818
print("\nSecond Matrix is: ")
1919
for n in matrix_b:
2020
print(n)
21-
2221
data = json.dumps({"a": matrix_a, "b": matrix_b, "c": rows, "d":column})
2322
s.send(data.encode())
2423

Diff for: matrixserver.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import socket, sys, json
22
s = socket.socket()
33
host = socket.gethostname()
4-
port = 151
4+
port = 3000
55

66
s.bind((host,port))
77
s.listen(5)

Diff for: servercat.py

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import socket, sys, json, math
2+
3+
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
4+
s.bind((socket.gethostname(),5678))
5+
s.listen(5)
6+
c,a = s.accept() # c=>socket , a=> addres
7+
def sumAlternate(arr, n):
8+
sum1 = 0
9+
sum2 = 0
10+
alt = 0
11+
12+
i = 0
13+
while i < n * n :
14+
15+
# count the elements at
16+
# even places
17+
if (i % 2 == 0):
18+
sum1 += math.factorial(arr + i)
19+
20+
else: # count the elements
21+
# at odd places
22+
sum2 += math.factorial(arr + i)
23+
24+
i += 1
25+
alt = str(sum2)
26+
return alt
27+
while True:
28+
data = c.recv(1024)
29+
data = json.loads(data.decode())
30+
matrix_a = data.get("a")
31+
rows = data.get("c")
32+
column = data.get("d")
33+
result = sumAlternate(matrix_a[0][0],rows)
34+
print(result)
35+
response = json.dumps({"response":result})
36+
c.send(response)
37+
c.close()

Diff for: udpclientcat.py

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import socket, sys, json
2+
msgFromClient = "Hi this is UDP server"
3+
bytesToSend = str.encode(msgFromClient)
4+
serverAddressPort = ("127.0.0.1", 20001)
5+
bufferSize = 1024
6+
#creating udp socket at client
7+
updClientSocket = socket.socket(family=socket.AF_INET, type=socket.SOCK_DGRAM)
8+
9+
10+
while True:
11+
rows = int(input("\nEnter the Number of rows : " ))
12+
column = int(input("Enter the Number of Columns: "))
13+
print("\nEnter the elements of First Matrix:")
14+
matrix_a= [[int(input()) for i in range(column)] for i in range(rows)]
15+
print("\nThe entered matrix is: ")
16+
for n in matrix_a:
17+
print(n)
18+
19+
data = json.dumps({"a": matrix_a,"c": rows, "d":column})
20+
s.send(data.encode())
21+
22+
res = s.recv(1024)
23+
res = json.loads(res)
24+
result = res.get("response")
25+
print("\n")
26+
print("Result : ")
27+
print(result)
28+
# print(str(result))
29+
print("\n-------------- ADD ANOTHER 2 MATRICES --------------")
30+
s.close()

Diff for: udpservercat.py

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
import socket, sys, json, math
2+
3+
localIP = "127.0.0.1"
4+
localPort = 20001
5+
bufferSize = 1024
6+
7+
msgFromServer = "hello UDP client"
8+
bytesToSend = str.encode(msgFromServer)
9+
10+
#create a datgram socket
11+
udpServerSocket = socket.socket(family=socket.AF_INET, type=socket.SOCK_DGRAM)
12+
13+
#bind address and ip
14+
udpServerSocket.bind((localIP, localPort))
15+
16+
print("UDP server up and listening")
17+
18+
def sumAlternate(arr, n):
19+
20+
sum1 = 0
21+
sum2 = 0
22+
alt = 0
23+
24+
i = 0
25+
while i < n * n :
26+
27+
# count the elements at
28+
# even places
29+
if (i % 2 == 0):
30+
sum1 += math.factorial(arr + i)
31+
32+
else: # count the elements
33+
# at odd places
34+
sum2 += math.factorial(arr + i)
35+
36+
i += 1
37+
alt = str(sum2)
38+
return alt
39+
40+
41+
while True:
42+
data = c.recv(1024)
43+
data = json.loads(data.decode())
44+
matrix_a = data.get("a")
45+
rows = data.get("c")
46+
column = data.get("d")
47+
result = sumAlternate(matrix_a[0][0],rows)
48+
print(result)
49+
response = json.dumps({"response":result})
50+
c.send(response)
51+
c.close()

0 commit comments

Comments
 (0)