Knjiga - mrežno i paralelno programiranje

1. Mrežno programiranje 3

Zadatak

Na klijentskom računalu upisuje se broj, a poslužitelj šalje poruku je li zbroj znamenaka poslanog broja prost. 

Treba dopuniti poslužiteljsku aplikaciju i provjeriti radi li te predati na linku mrezno3

U naredbenom retku ili drugom računalu pokrenite poslužiteljsku aplikaciju, a standardno iz Pythona pokrenite klijentsku aplikaciju.

##poslužitelj

from socket import *

class Posluzitelj:

   def __init__(self, host, port):

      self.s = socket()

      self.h = host

      self.p = port

      self.s.bind((self.h, self.p))

      self.s.listen(5)

      print('Čekam klijenta...')

      c, a = self.s.accept()

      print('Spojio se',a)

      self.komuniciraj(c)

      c.close()

 

   def prost(self,x):

      for i xxxxxxxxxx

         if xxxxxxxxxx

            return False

      return True

 

   def suma(self,x):

      xxxxx

      while x > 0:

         xxxxxxxxxx

         xxxxxxxxxx

      return s

  

   def komuniciraj(self,c):

      while True:

         x = int(c.recv(1024).decode('utf-8'))

         if x < 2:

            c.send('Kraj'.encode('utf-8'))

            return

         rezultat = str(self.prost(self.suma(x)))

         c.send(rezultat.encode('utf-8'))

Posluzitelj('DESKTOP-59PTT3J',10000)

##klijent

from socket import *

class Klijent:

   def __init__(self, host, port):

      self.s = socket()

      self.h = host

      self.p = port

      self.s.connect((self.h,self.p))

      while True:

         x = input('Upiši broj: ')

         self.s.send(x.encode('utf-8'))

         rezultat = self.s.recv(1024).decode('utf-8')

         if rezultat == 'True':

            print('Zbroj znamenaka broja {} je prost'.format(x))

         elif rezultat=='False':

            print('Zbroj znamenaka broja {} nije prost'.format(x))

         else:

            print('Kraj...')

            break

Klijent('DESKTOP-59PTT3J',10000)

Podsjetnik:

Unutar naredbenog retka možete saznati:

IPv4 adresu:
C:\Users\Korisnik>ipconfig
.............................................
IPv4 Address. . . . . . . . . . . : 192.168.1.3
Ime računala:
C:\Users\Korisnik>hostname
DESKTOP-59PTT3J