56 lines
1.3 KiB
Org Mode
56 lines
1.3 KiB
Org Mode
* TCP - BAck to School
|
|
|
|
Challenge: https://www.root-me.org/de/Herausforderungen/Programmierung/TCP-Back-to-school
|
|
|
|
Aufgabe
|
|
|
|
Um diesen Test mit dem TCP-Protokoll zu starten, müssen Sie eine Verbindung zu einem Programm an einem Netzwerk-Socket herstellen.
|
|
|
|
- Berechne die Quadratwurzel aus Nummer 1 und multipliziere sie mit Nummer 2.
|
|
- Runden Sie dann das Ergebnis auf zwei Dezimalstellen ab.
|
|
- Sie haben 2 Sekunden Zeit, um die richtige Antwort zu senden, sobald das Programm Ihnen die Berechnung sendet.
|
|
|
|
Zugangsdaten für die Übung
|
|
|
|
Host challenge01.root-me.org
|
|
Protokoll TCP
|
|
Port 52002
|
|
|
|
---------
|
|
|
|
#+begin_src sh :results output
|
|
cat ./main.py
|
|
#+end_src
|
|
|
|
#+RESULTS:
|
|
#+begin_example
|
|
import socket
|
|
from threading import Thread
|
|
|
|
|
|
serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
|
host = "challenge01.root-me.org"
|
|
port = 52002
|
|
serversocket.bind((host, port))
|
|
|
|
|
|
class client(Thread):
|
|
def __init__(self, socket, address):
|
|
Thread.__init__(self)
|
|
self.sock = socket
|
|
self.addr = address
|
|
self.start()
|
|
|
|
def run(self):
|
|
while 1:
|
|
print("Client sent:", self.sock.recv(1024).decode())
|
|
self.sock.send(b"Oi you sent something to me")
|
|
|
|
|
|
serversocket.listen(5)
|
|
print("server started and listening")
|
|
while 1:
|
|
clientsocket, address = serversocket.accept()
|
|
client(clientsocket, address)
|
|
#+end_example
|