lua-enet (Français)

Disponible depuis LÖVE 0.9.0
Ce-tte module n'est pas supporté-e par des versions plus anciennes.


O.png La documentation officielle de lua-enet est disponible ici. Les fonctionnalités d'ENet sont listées sur sa page web. La documentation officielle pourrait contenir quelques fautes de frappe. La documentation de ce wiki reflète son implémentation dans Löve, cela signifie qu'il peut être considéré comme sûr de suivre ce qui est écrit ici.  


lua-enet consiste en quelques bindings en Lua d'ENet.

Le but d'ENet est de fournir une couche de communication réseau relativement finne, simple et robuste pour les jeux basée sur UDP (User Datagram Protocol). La fonctionnalité première qu'il fournit est une délivrance de paquets (réseau) optionnellement fiable, et dans l'ordre.

ENet omet certaines fonctionnalités réseau de plus haut niveau telles que l'authentification, le lobbying, la découverte de serveurs, le chiffrement, ou les tâches similaires qui sont très spécifiques aux applications, cela permet à la bibliothèque de rester flexible, portable, et facilement embarquable.

Types

Type Description
host Un hôte ENet pour communiquer avec les pairs.
peer Un pair ENet avec lequel les paquets de données peuvent être envoyé ou reçu.
event Une simple table contenant les informations d'un événement.

Fonctions

Fonction Description
host_create Retourne un nouvel hôte.
linked_version Retourne la chaîne de la version d'ENet incluse.

Exemples

serveur.lua

-- serveur.lua
local enet = require "enet"
local host = enet.host_create("localhost:6789")
while true do
  local event = host:service(100)
  while event do
    if event.type == "receive" then
      print("Message reçu: ", event.data, event.peer)
      event.peer:send( "pong" )
    elseif event.type == "connect" then
      print(event.peer, "connecté.")
    elseif event.type == "disconnect" then
      print(event.peer, "déconnecté.")
    end
    event = host:service()
  end
end

client.lua

-- client.lua
local enet = require "enet"
local host = enet.host_create()
local server = host:connect("localhost:6789")
while true do
  local event = host:service(100)
  while event do
    if event.type == "receive" then
      print("Message reçu: ", event.data, event.peer)
      event.peer:send( "ping" )
    elseif event.type == "connect" then
      print(event.peer, "connecté.")
      event.peer:send( "ping" )
    elseif event.type == "disconnect" then
      print(event.peer, "déconnecté.")
    end
    event = host:service()
  end
end

Voir également

Autres langues