Как я могу заставить сервер решать, сколько данных он может получить от клиента? - PullRequest
0 голосов
/ 27 января 2020

Вот базовый c сервер, который я написал на python. Я решил установить ограничение 1024 для передачи данных.
, но я хочу сделать его менее конкретным c, чем это я. Как я могу заставить сервер решать, сколько данных он может получать каждый раз, когда я запускаю этот сервер?

import socket
from random import randint as rand
import datetime


def main():
   try:
      ip_ser = '0.0.0.0'
      des_port = 1729

      server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

      server_socket.bind((ip_ser, des_port))
      server_socket.listen(1)

      client_socket, address = server_socket.accept()

      data = client_socket.recv(1024)

      if data.decode("ASCII") == "Rand":
          client_socket.send(str(rand(0, 10)).encode())

      elif data.decode("ASCII") == "Time":
          client_socket.send(str(datetime.datetime.now()).encode())

      elif data.decode("ASCII") == "Exit":
          client_socket.send("Exit completed".encode())
          client_socket.close()
          server_socket.close()

      elif data.decode("ASCII") == "Name":
          client_socket.send("Name is: Echo command server ".encode())

      else:
          client_socket.send("Invalid method ".encode())

  except Exception as e:
      print(e)
...