Code Monkey home page Code Monkey logo

socket2's Introduction

socket2

Licença

Este projeto está licenciado sob a Licença de Uso Não-Comercial e Restrita a IA.

Exemplo de cliente

from socket2 import Socket

client = Socket()
client.connect(("localhost", 8666))

client.send(b"Olá mundo!")

@client.on("data")
def on_data(data: bytes) -> None:
    print("Dados recebidos:")

    try:
        print(data.decode("utf-8"))
    except UnicodeDecodeError:
        print(data)

@client.on("close")
def on_close(address) -> None:
    print(f"A conexão com {address} foi fechada!")

while client.is_connected():
    client.step()

Exemplo de servidor

from socket2 import Socket

server = Socket()
server.bind(("localhost", 8666))
server.listen(5)

@server.on("connection")
def on_connection():
    client, address = server.accept()
    print(f"{address} se conectou!")

    @client.on("data")
    def on_data(data: bytes) -> None:
        print(f"{address} enviou dados:")

        try:
            print(data.decode("utf-8"))
        except UnicodeDecodeError:
            print(data)

        client.send(data)

    @client.once("close")
    def on_close(address) -> None:
        print(f"{address} foi desconectado!")

while server.is_connected():
    server.step()

Métodos da classe Socket

Daqui em diante ficam listados os métodos da classe Socket

Socket.bind(address: tuple) -> None

address: tuple(str, int)

Retorna: None

Descrição: Liga o socket a um endereço e uma porta

from socket2 import Socket

socket = Socket()
socket.bind(("localhost", 8666))
...

Socket.listen(backlog: int) -> None

backlog: int

Retorna: None

Descrição: Coloca o socket em modo de escuta

... # o trecho de código anterior
socket.listen(5)
... # o trecho de código posterior

Socket.accept() -> tuple

Retorna: tuple(Socket, tuple(str, int))

Descrição: Aceita uma conexão

... # o trecho de código anterior
client, address = socket.accept()

Socket.connect(address: tuple) -> None

address: tuple(str, int)

Retorna: None

Descrição: Conecta o socket a um endereço e uma porta

from socket2 import Socket

socket = Socket()
socket.connect(("localhost", 8666))
...

Socket.send(data: bytes) -> None

data: bytes

Retorna: None

Descrição: Envia dados para o socket

... # o trecho de código anterior
socket.send(b"Olá mundo!")

Socket.recv(size: int) -> bytes

size: int

Retorna: bytes

Descrição: Recebe dados do socket

... # o trecho de código anterior
data = socket.recv(1024)

Socket.close() -> None

Retorna: None

Descrição: Fecha o socket

... # o trecho de código anterior
socket.close()

Socket.is_connected() -> bool

Retorna: bool

Descrição: Retorna se o socket está conectado

from socket2 import Socket

socket = Socket()
socket.bind(("localhost", 8666))
socket.listen(5)

while socket.is_connected():
    ...

Socket.step() -> None

Retorna: None

Descrição: Função interna para o funcionamento do socket (eventos)

    ... # o trecho de código anterior
    socket.step()

Socket.broadcast(data: bytes) -> None

data: bytes

Retorna: None

Descrição: Envia dados para todos os clientes conectados

    ... # o trecho de código anterior
    socket.broadcast(b"Olá mundo!")

Socket.on(event: str) -> Callable

event: str

Retorna: Callable

Descrição: Decorador para eventos

from socket2 import Socket

socket = Socket()
socket.bind(("localhost", 8666))
socket.listen(5)

@socket.on("connection")
def on_connection():
    ...

while socket.is_connected():
    socket.step()

Socket.once(event: str) -> Callable

event: str

Retorna: Callable

Descrição: Decorador para eventos que são chamados apenas uma vez

    ... # o trecho de código anterior
    @socket.once("close")
    def on_close(address) -> None:
        print("O socket foi fechado!")

Eventos da classe Socket

Daqui em diante ficam listados os eventos da classe Socket

Socket.on("connection")

Descrição: Evento chamado quando um cliente se conecta ao servidor

Socket.on("data")

Parâmetros | data: bytes

Descrição: Evento chamado quando o socket recebe dados

Socket.on("close")

Parâmetros | address: tuple(str, int)

Descrição: Evento chamado quando o socket é fechado

socket2's People

Contributors

gustavo10destroyer avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.