You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

86 lines
1.7 KiB

import socket
import os
# Здесь идёт обработка всех запросов через сеть
# TODO:
# 1. [+] Пинг
# 2. [+] Проверка существования сайта
# 3. Передача сайта
# 4. Приём рассылки сайтов
def server(port = 8000):
host = "127.0.0.1"
s = socket.socket()
s.bind((host, port))
while True:
s.listen(2)
conn, address = s.accept()
print("Connection from: " + str(address))
while True:
try:
op = conn.recv(1024).decode()
except:
pass
if not op:
break
if op == "ping":
conn.send("Pinged success".encode())
conn.close()
'''
sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
sock.bind (('127.0.0.1', port))
while 1 :
data , addres = sock.recvfrom(1024)
#print (addres[0], addres[1])
op = data.decode('utf-8')
print(op)
if op == "ping":
sock.sendto("Pinged success".encode('utf-8'), addres)
elif op[:3] == "is_":
check = op[3:]
if os.path.exists(f'cached/{check}'):
sock.sendto("exist".encode('utf-8'), addres)
else:
sock.sendto("not exist".encode('utf-8'), addres)
else:
sock.sendto(data, addres)
'''
# op = operation
def client(port, op = "ping"):
host = 'jetwork.404.mn'
s = socket.socket()
s.connect((host, port))
s.send("ping".encode())
data = s.recv(1024).decode()
print('Received from server: ' + data)
s.close()
'''
server = 'jetwork.404.mn', port
sor = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
sor.sendto((op).encode('utf-8'), server)
sor.settimeout(5)
# try:
if True:
data = sor.recv(1024)
res = data.decode('utf-8')
return res
# except:
# print(f"[:{dest_port}] Недоступен.")
# return None
'''