Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.

35 righe
988 B

  1. #!/usr/bin/env python3.7
  2. import socket
  3. class ChatConnection(object):
  4. def __init__(self, host: str, port: int, buffSize=4096, encoding='utf8'):
  5. self.soc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  6. self.soc.connect((host, port))
  7. self.buffSize = buffSize
  8. self.encoding = encoding
  9. self.isOpen = True
  10. def send(self, msg: str) -> None:
  11. """
  12. Wrapper method of socket.send and encode the message
  13. to set character encoding.
  14. """
  15. try:
  16. self.soc.send(bytes(msg, self.encoding))
  17. except OSError:
  18. self.close()
  19. def recv(self) -> str:
  20. """
  21. Wrapper method of socket.recv and encode the message
  22. to set character encoding.
  23. """
  24. return self.soc.recv(self.buffSize).decode(self.encoding)
  25. def close(self) -> None:
  26. """
  27. Wrapper method to close the socket
  28. """
  29. self.soc.close()
  30. self.isOpen = False