Programmer avec le langage Linotte

Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Programmer avec le langage Linotte

Besoin d'un conseil sur la programmation en Linotte ?

Le Deal du moment : -33%
Abonnement de 12 mois au PlayStation Plus
Voir le deal
39.99 €

3 participants

TCPLinotte 0.2, créer vos programmes réseaux en Linotte

admincpc
admincpc
Site Admin


Messages : 1050
Date d'inscription : 2011-11-03

TCPLinotte 0.2, créer vos programmes réseaux en Linotte Empty TCPLinotte 0.2, créer vos programmes réseaux en Linotte

Message par admincpc Tue 20 Nov - 21:21

TCPLinotte est le greffon que l'on doit utiliser pour créer des connexions réseaux entre plusieurs programmes Linotte.

Ce greffon est basé sur la notion de socket réseau. Pour l'utiliser, il faut comprendre cette notion.

Ce greffon permet de créer des jeux réseaux, des services de messageries instantanées, etc.

Ce greffon est découpé en deux parties : TCPClient et TCPServeur


  1. TCPServeur

    • demarrer[/*Ⓜ318axyzk]
    • arrêter[/*Ⓜ318axyzk]
    • attendreconnexion[/*Ⓜ318axyzk]
    • envoyer[/*Ⓜ318axyzk]
    • recevoir[/*Ⓜ318axyzk]
    • fermer[/*Ⓜ318axyzk]
    • ip[/*Ⓜ318axyzk]

    [/*Ⓜ318axyzk]
  2. TCPClient

    • connexion[/*Ⓜ318axyzk]
    • fermer[/*Ⓜ318axyzk]
    • envoyer[/*Ⓜ318axyzk]
    • recevoir[/*Ⓜ318axyzk]
    • nommachine[/*Ⓜ318axyzk]

    [/*Ⓜ318axyzk]


Voici un exemple très simple pour comprendre la notion et manipuler des sockets : un mini serveur messagerie instantanée

Le programme du serveur (30 lignes !):
[php]
globale
serveur :: tcpserveur
sockets :: casier de nombres

démarrage :
début
évoque serveur.démarrer(7779)
tant que vrai, lis
socket :: nombre
affiche "on attend l'ouverture d'une nouvelle socket..."
socket vaut serveur.attendreconnexion()
affiche "un client sur la socket " + socket + " vient de se connecter !"
ajoute socket dans sockets
appelle gestion socket avec socket
ferme

gestion socket :
* socket :: nombre
début
tant que vrai, lis
message :: texte
// on attend l'arrivée de nouveaux messages sur le socket
message vaut serveur.recevoir(socket)
affiche "le client de la socket " + socket + " a dit : " + message
pour chaque sockets, lis
affiche "envoyer le message '" + message + "' à la socket " + joker
évoque serveur.envoyer(joker, message)
ferme
ferme
[/php]

Le programme du client (20 lignes !):
[php]
globale
client :: tcpclient

genègraphe :
tchat :: texte
début
évoque client.connexion("localhost", 7779)
appelle attendre message
tant que vrai, lis
questionne tchat sur "Que voulez-vous dire ?"
évoque client.envoyer(tchat)
ferme

attendre message :
message :: texte
début
tant que vrai, lis
// On attend la réception d'un message
message vaut client.recevoir()
affiche message
ferme
[/php]


Vitrine en cours de réalisation...
admincpc
admincpc
Site Admin


Messages : 1050
Date d'inscription : 2011-11-03

TCPLinotte 0.2, créer vos programmes réseaux en Linotte Empty RE: TCPLinotte 0.1, créer vos programmes réseaux en Linotte

Message par admincpc Tue 20 Nov - 22:33

Ce greffon permet de créer des sockets réseaux entre plusieurs programmes Linotte.

Avant de vous en parler un peu plus, voici une démonstration des capacités de ce greffon.

-Téléchargez la version 2.0.1 de Linotte ici : http://langagelinotte.free.fr/wordpress/

-Téléchargez le greffon TCPLinotte. Relancer l'Atelier

-Ensuite, téléchargez les trois livres attachés au post puis exécutez TCPClient qui est un client d'une messagerie instantanée 100% en Linotte !

Puis, pour se connecter, utilisez l'IP 78.243.8.89 et le port 7778. Le serveur est sur ma machine.

Copies d'écran :

[attachment=73] [attachment=74]

Les sources dans disponibles dans l'Atelier :
exemples\tutoriels\j_expert
admincpc
admincpc
Site Admin


Messages : 1050
Date d'inscription : 2011-11-03

TCPLinotte 0.2, créer vos programmes réseaux en Linotte Empty RE: TCPLinotte 0.1, créer vos programmes réseaux en Linotte

Message par admincpc Wed 21 Nov - 22:02

Bonsoir, j'ai ajouté un exemple "simple" pour comprendre la notion des sockets.

Mon serveur tourne toujours. Vous pouvez venir vous y connecter pour discuter sur la première messagerie instantanée 100% Linotte <img src=" title="Smile" />
avatar
Wam
Senior Member


Messages : 585
Date d'inscription : 2012-01-11

TCPLinotte 0.2, créer vos programmes réseaux en Linotte Empty RE: TCPLinotte 0.1, créer vos programmes réseaux en Linotte

Message par Wam Thu 22 Nov - 15:23

Bonjour,
Excellent ce nouveau greffon ! x)
Il remplace le greffon pont, non ?
Pourtant les exemples pont_client et pont_serveur sont toujours disponibles...
Et je n'ai pas trouvé l'exemple simple pour comprendre la notion de socket ^^
admincpc
admincpc
Site Admin


Messages : 1050
Date d'inscription : 2011-11-03

TCPLinotte 0.2, créer vos programmes réseaux en Linotte Empty RE: TCPLinotte 0.1, créer vos programmes réseaux en Linotte

Message par admincpc Thu 22 Nov - 15:57

Bonjour Wam,

L'exemple simple est sur le premier post :
http://langagelinotte.free.fr/forum/sho ... 75#pid6775

As-tu testé l'exemple TCPClient ?
avatar
Wam
Senior Member


Messages : 585
Date d'inscription : 2012-01-11

TCPLinotte 0.2, créer vos programmes réseaux en Linotte Empty RE: TCPLinotte 0.1, créer vos programmes réseaux en Linotte

Message par Wam Thu 22 Nov - 18:43

Oui, je développe mon propre tchat ^^ je compte également utiliser le greffon connecteur sql x)
admincpc
admincpc
Site Admin


Messages : 1050
Date d'inscription : 2011-11-03

TCPLinotte 0.2, créer vos programmes réseaux en Linotte Empty RE: TCPLinotte 0.1, créer vos programmes réseaux en Linotte

Message par admincpc Thu 22 Nov - 20:02

C'est très bien !
Je travaillerai sur ces deux greffons en priorité alors !
Il faut que je rajoute des explications sur l'utilisation du greffon TCPLinotte.

C'est un peu léger pour l'instant...

Zamirh est venu sur le tchat... et alastor ? c'est qui ?
avatar
Wam
Senior Member


Messages : 585
Date d'inscription : 2012-01-11

TCPLinotte 0.2, créer vos programmes réseaux en Linotte Empty RE: TCPLinotte 0.1, créer vos programmes réseaux en Linotte

Message par Wam Thu 22 Nov - 20:09

alastor c'est moi (ou plutôt le nom de mon pc :p) ^^

Pour bien comprendre le fonctionnement du greffon j'utilise également les trois livres du messager Linotte.
avatar
zamirh
Senior Member


Messages : 340
Date d'inscription : 2010-08-31

TCPLinotte 0.2, créer vos programmes réseaux en Linotte Empty RE: TCPLinotte 0.1, créer vos programmes réseaux en Linotte

Message par zamirh Fri 23 Nov - 3:32

C'est vraiment excitant tout ça hihi !
avatar
Wam
Senior Member


Messages : 585
Date d'inscription : 2012-01-11

TCPLinotte 0.2, créer vos programmes réseaux en Linotte Empty RE: TCPLinotte 0.1, créer vos programmes réseaux en Linotte

Message par Wam Fri 23 Nov - 4:48

J'ai pu constater que si on lançait 2 fois le même serveur, il affichait alors automatiquement un message d'erreur.
Du coup, nous n'avons pas besoin de prévoir cette erreur dans notre code.

Existe-t-il d'autres messages d'erreurs déjà programmés ?
admincpc
admincpc
Site Admin


Messages : 1050
Date d'inscription : 2011-11-03

TCPLinotte 0.2, créer vos programmes réseaux en Linotte Empty RE: TCPLinotte 0.1, créer vos programmes réseaux en Linotte

Message par admincpc Fri 23 Nov - 11:21

Oui, le greffon va effectuer quelques vérifications.

Je suis sur une version 0.2 qui en fera un peu plus. Elles seront décrites sur le premier post.
admincpc
admincpc
Site Admin


Messages : 1050
Date d'inscription : 2011-11-03

TCPLinotte 0.2, créer vos programmes réseaux en Linotte Empty RE: TCPLinotte 0.1, créer vos programmes réseaux en Linotte

Message par admincpc Fri 23 Nov - 17:19

Je viens de mettre à jour le serveur de messagerie instantanée (TCPClient, TCPServeur, TCPCommun).

J'ai ajouté des nouvelles commandes suivantes :

- ping, permet d'obtenir le nom du client
- version, retourne le numéro de version du serveur, l'heure et un message de bienvenue.
- historique, retourne les 10 dernières discutions. Ainsi, un nouvel arrivant peut lire l'historique à la connexion.
- Les messages contiennent un horodatage.
- Le client a été amélioré.

Ce soir, j'installe ce nouveau serveur sur ma machine !
admincpc
admincpc
Site Admin


Messages : 1050
Date d'inscription : 2011-11-03

TCPLinotte 0.2, créer vos programmes réseaux en Linotte Empty RE: TCPLinotte 0.1, créer vos programmes réseaux en Linotte

Message par admincpc Fri 23 Nov - 20:09

Le nouveau serveur est en ligne <img src=" title="Big Grin" />
admincpc
admincpc
Site Admin


Messages : 1050
Date d'inscription : 2011-11-03

TCPLinotte 0.2, créer vos programmes réseaux en Linotte Empty RE: TCPLinotte 0.1, créer vos programmes réseaux en Linotte

Message par admincpc Fri 23 Nov - 21:54

Petit rappel :

Si vous voulez diffuser votre programme et pour les utilisateurs sous Windows :
http://langagelinotte.free.fr/forum/sho ... hp?tid=854

Je viens de le faire pour le client de la messagerie instantanée.

L'IP 78.243.8.89 et le port 7778 du serveur.

PS : avec ce système, le programme ne s'affiche qu'une fois dans la barre des tâches !

PSS : mise à jour du client avec le greffon Configuration.
admincpc
admincpc
Site Admin


Messages : 1050
Date d'inscription : 2011-11-03

TCPLinotte 0.2, créer vos programmes réseaux en Linotte Empty RE: TCPLinotte 0.1, créer vos programmes réseaux en Linotte

Message par admincpc Mon 26 Nov - 21:35

je viens de mettre à jour le client Windows : il utilise le greffon Configuration.
admincpc
admincpc
Site Admin


Messages : 1050
Date d'inscription : 2011-11-03

TCPLinotte 0.2, créer vos programmes réseaux en Linotte Empty RE: TCPLinotte 0.1, créer vos programmes réseaux en Linotte

Message par admincpc Tue 27 Nov - 14:38

Je propose en version "beta" une 0.2 du greffon TCPLinotte. La communication entre les clients et le serveur est compressée pour accélérer les connexions réseaux.

Pour l'utiliser, il faut que le client ET le serveur utilise cette version de TCPLinotte.

J'attends vos retours !
admincpc
admincpc
Site Admin


Messages : 1050
Date d'inscription : 2011-11-03

TCPLinotte 0.2, créer vos programmes réseaux en Linotte Empty RE: TCPLinotte 0.2, créer vos programmes réseaux en Linotte

Message par admincpc Fri 24 May - 9:35

Le serveur refonctionne !

Il faut se connecter sur l'IP 78.243.8.89 et le port 7778.

Pour information, je l'ai installé sur mon raspberry pi (c'est quoi ce machin : http://raspberrypi.fr/ )

Le serveur devrait fonctionner 24/24h maintenant <img src=" title="Big Grin" />

Plus d'information ici : http://langagelinotte.free.fr/forum/ann ... .php?aid=4
avatar
Wam
Senior Member


Messages : 585
Date d'inscription : 2012-01-11

TCPLinotte 0.2, créer vos programmes réseaux en Linotte Empty RE: TCPLinotte 0.2, créer vos programmes réseaux en Linotte

Message par Wam Fri 24 May - 9:51

"Connexion perdue avec le serveur" Snif :'(
admincpc
admincpc
Site Admin


Messages : 1050
Date d'inscription : 2011-11-03

TCPLinotte 0.2, créer vos programmes réseaux en Linotte Empty RE: TCPLinotte 0.2, créer vos programmes réseaux en Linotte

Message par admincpc Fri 24 May - 10:00

Arg, tu utilises TCPCLient qui est fourni avec l'Atelier Linotte ?
avatar
Wam
Senior Member


Messages : 585
Date d'inscription : 2012-01-11

TCPLinotte 0.2, créer vos programmes réseaux en Linotte Empty RE: TCPLinotte 0.2, créer vos programmes réseaux en Linotte

Message par Wam Fri 24 May - 10:04

Yep ^^
admincpc
admincpc
Site Admin


Messages : 1050
Date d'inscription : 2011-11-03

TCPLinotte 0.2, créer vos programmes réseaux en Linotte Empty RE: TCPLinotte 0.2, créer vos programmes réseaux en Linotte

Message par admincpc Fri 24 May - 10:15

grrrr, peux-tu

- supprimer le fichier .greffons/TCPLinotte.zgl
- relancer l'Atelier
- relancer TCPCLient

?
avatar
Wam
Senior Member


Messages : 585
Date d'inscription : 2012-01-11

TCPLinotte 0.2, créer vos programmes réseaux en Linotte Empty RE: TCPLinotte 0.2, créer vos programmes réseaux en Linotte

Message par Wam Fri 24 May - 10:28

Ca semble fonctionner si je lance le livre TCPClient.liv dans l'atelier.
En revanche, ça ne marche pas si je lance directement TCPClient.exe
admincpc
admincpc
Site Admin


Messages : 1050
Date d'inscription : 2011-11-03

TCPLinotte 0.2, créer vos programmes réseaux en Linotte Empty RE: TCPLinotte 0.2, créer vos programmes réseaux en Linotte

Message par admincpc Fri 24 May - 10:30

Ok, je vais supprimer TCLClient.exe du forum.
Il a été créé avec une ancienne version du greffon.
Merci

Contenu sponsorisé


TCPLinotte 0.2, créer vos programmes réseaux en Linotte Empty Re: TCPLinotte 0.2, créer vos programmes réseaux en Linotte

Message par Contenu sponsorisé


    La date/heure actuelle est Tue 30 Nov - 7:30