30 lines
606 B
Python
30 lines
606 B
Python
import socket as s
|
|
from logging import Logger
|
|
from abc import ABC, abstractmethod
|
|
|
|
|
|
class SocketClient(ABC):
|
|
ip: str = ""
|
|
port: int = 0
|
|
socket: s.socket
|
|
logger: Logger
|
|
|
|
def __init__(self, ip: str, port: int, logger: Logger):
|
|
if port <= 0 or port > 65535:
|
|
raise ValueError("Port out of range.")
|
|
self.ip = ip
|
|
self.port = port
|
|
self.logger = logger
|
|
|
|
@abstractmethod
|
|
def Connect(self) -> bool:
|
|
pass
|
|
|
|
@abstractmethod
|
|
def Reconnect(self) -> bool:
|
|
pass
|
|
|
|
@abstractmethod
|
|
def Send(self, data: str):
|
|
pass
|