Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 

35 lignes
988 B

#!/usr/bin/env python3.7
import socket
class ChatConnection(object):
def __init__(self, host: str, port: int, buffSize=4096, encoding='utf8'):
self.soc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.soc.connect((host, port))
self.buffSize = buffSize
self.encoding = encoding
self.isOpen = True
def send(self, msg: str) -> None:
"""
Wrapper method of socket.send and encode the message
to set character encoding.
"""
try:
self.soc.send(bytes(msg, self.encoding))
except OSError:
self.close()
def recv(self) -> str:
"""
Wrapper method of socket.recv and encode the message
to set character encoding.
"""
return self.soc.recv(self.buffSize).decode(self.encoding)
def close(self) -> None:
"""
Wrapper method to close the socket
"""
self.soc.close()
self.isOpen = False