Héritage de réseautage avec linux. (9 / 10 étapes)

Étape 9: tableau d’affichage du système.

Vous pourriez même émuler un BBS sur un des ports de communication. Probablement besoin de modification en fonction de votre système. Vous devrez également créer des fichiers texte ou ascii tels que bulletins.

[code]
COMMUN partagé Car.ret, Car.ret$, Lfeed, Lfeed$, Mod.dem, Console
Delay DECLARE SUB (Secs!)
DECLARE SUB Lout (l$, Cr!)
CONST False = 0
CONST True = -1
' ****************************************************************************
' Lizzybbs version 0,00001
' main.loop écrit par computothought
« certaines routines d’entrée de données emprunté le programme dumbbs
« dernière mise à jour 06/02/95
Start.Program :
Entretien ménager GOSUB
Bien que ne pas fait
GOSUB The.main.loop
WEND
GOSUB end.of.job
FIN
' *****************************************************************************
« Sous-routines
' -----------------------------------------------------------------------------
entretien ménager :
CLS
FERMER
Done = 0
Cdmask = & H80
Transporteur = 0
"Ports de statut devraient être Com1 = 3fe et Com2 = 2fe (? f8 + 6)
RS232.port = & H3FE: "& H3F8 + 6
Mod.DEM = 1
Console = 2
Port$ = "COM1:"
Baud$ = « 300 »,
Flow$ = « N, 8, 1 »: ', DS0 "
Minutes = 60
Char.Wait.Time = 4 * minutes
Char.Grace.Time = 1 * minutes
Lin.Length = 40
Q$ = CHR$(34)
Bell$ = CHR$(7)
Car.RET = 13
Car.RET$ = CHR$(Car.ret)
Lfeed = 10
Lfeed$ = CHR$(Lfeed)
' ------------------------------------------------
' select.baud - sélectionnez la vitesse de transmission
Com.spec$ = Port$ + Baud$ + $ de flux
' ----------------------------------------------
« ouvrir des lignes de communication
Com.spec$ ouverte pour aléatoire AS #Mod.dem
Pause GOSUB
OPEN "scrn:" pour la sortie AS #Console
IMPRIMER
' ---------------------------------------------
"Redémarrer le fichier journal de travail
OPEN « append », #5, « worklog »
PRINT #5, « Début d’emploi », $ de l’heure, DATE$
PROCHE #5
RETOUR
' ------------------------------------------------
"gchar - obtenez un caractère
Gchar :
Char.Timeout = False
Charest = 0
T = TIMER
FAIRE
Si ce n’est EOF(Mod.dem) puis
Clizzyied$ = $ d’entrée (1, #Mod.dem)
C = ASC(Clizzyied$)
IMPRESSION #Mod.dem, CHR$(C) ;
IF <> C 8 puis
IMPRESSION #Console, CHR$(C) ;
D’AUTRE
IMPRESSION #Console, CHR$(29) ;
END IF
Charest = 1
END IF
GOSUB Carchek
BOUCLE jusqu'à minuterie > T + Char.wait.time OR Charest = 1 ou transporteur = False
IF TIMER > T + Char.wait.time puis
a$ = Car.ret$ + Lfeed$ + $ de Bell, Bell$
a$ = a$ + « Ce BBS raccroche si vous n’appuyez pas sur une touche. »
APPEL de Lout (a$, True)
Violation = 2
Char.Timeout = True
C = 256
END IF
RETOUR
' ----------------------------------------------------
' gline - chercher une ligne
Gline :
In.Line$ = ""
GOSUB Clear.garbage
FAIRE
GOSUB Gchar
SÉLECTIONNEZ LE CAS C
AFFAIRE est > 255, Car.ret
REM
CAS 29, 8
In.Line$ = LEFT$ (In.line$, LEN(In.line$) - 1)
CASE ELSE
In.Line$ = In.line$ + CHR$(C)
END SELECT
BOUCLE jusqu'à LEN(In.line$) > ou Lin.length (C = Car.ret et LEN(In.line$) > 0) ou C > 255 ou transporteur = False
RETOUR
' -------------------------------------------------------------------------
' Dtrlow
Dtrlow :
IMPRESSION #Mod.dem, « ATH0 »
Pause GOSUB
IMPRESSION #Mod.dem, « ATZ »
Pause GOSUB
RETOUR
' --------------------------------------------------------------------------
' Dtrhi
Dtrhi :
IMPRESSION #Mod.dem, « ATE0M0S0 = 1 & C1 "
Pause GOSUB
RETOUR
' ----------------------------------------------------------
« Téléchargez le fichier
file.Download :
Dload.Item$ = ""
FAIRE en UCASE$(Dload.item$) <> "0"
Idtsconnectionmanagercache100.UseFile$ = « dir.fil »
GOSUB File.display
GOSUB Clear.garbage
GOSUB Gchar
Dload.Item$ = UCASE$(CHR$(C))
Tout en Dload.item$ < = Dload.item$ "Z" > = « A »
APPEL Lout (« S’il vous plaît ouvrez votre tampon maintenant, puis appuyez sur n’importe quelle touche! », True)
GOSUB File.display
GOSUB Clear.garbage
GOSUB Gchar
Idtsconnectionmanagercache100.UseFile$ = « \ul\dload » + CHR$(C)
GOSUB File.display
APPEL Lout (« S’il vous plaît fermer votre tampon maintenant, puis appuyez sur n’importe quelle touche! », True)
GOSUB Clear.garbage
GOSUB Gchar
BOUCLE
IF transporteur = False ou Char.timeout THEN EXIT DO
BOUCLE
RETOUR
' ----------------------------------------------------------
« bulletin d’affichage
Bulletins :
Bullet.Item$ = ""
FAIRE en UCASE$(Bullet.item$) <> "Q"
Idtsconnectionmanagercache100.UseFile$ = « poster »
GOSUB File.display
APPEL Lout ("entrez le choix:", False)
GOSUB Clear.garbage
GOSUB Gchar
Bullet.Item$ = UCASE$(CHR$(C))
APPEL Lout ("", True)
FAIRE en C > 48 et C < 57
Idtsconnectionmanagercache100.UseFile$ = Idtsconnectionmanagercache100.UseFile$ + Bullet.item$
GOSUB File.display
C = 256
BOUCLE
IF transporteur = False ou Char.timeout THEN EXIT DO
BOUCLE
RETOUR
' ----------------------------------------------------------
« nouvelle routine de l’utilisateur
New.User :
Idtsconnectionmanagercache100.UseFile$ = « newuser »
GOSUB File.display
APPEL Lout ("Veuillez entrer un mot de passe unique:", False)
GOSUB Gline
APPEL Lout ("", True)
Pass.in$ = In.line$
PROCHE #4
TUER « userfile.old »
Le nom « userfile » comme « userfile.old »
OPEN "O", #6, "userfile"
Statut = 4
PRINT #6, Q$ ; Log.Name$ ; Q$ ; ","; Q$ ; Pass.in$ ; Q$ ; ","; Statut ; ","; Q$ ; Time.in$ ; Q$
PROCHE #6
OPEN « I », #7, « userfile.old »
OPEN "A", #8, "userfile"
FAITES TOUT EN EOF(7) PAS
ENTRÉE #7$, $ B, C, D$
PRINT #8, Q$ ; a$ ; Q$ ; ","; Q$ ; B$ ; Q$ ; ","; C ; ","; Q$ ; D$ ; Q$
Si un$ = « END » THEN EXIT DO
BOUCLE
PROCHE #7
FERMER #8
RETOUR
' ---------------------------------------------------------
' file.display
File.Display :
OUVRIR « I », #3, Idtsconnectionmanagercache100.UseFile$
TOUT EN EOF(3) PAS
LINE INPUT #3, data.in$
APPEL de Lout ($data.in, True)
WEND
PROCHE #3
RETOUR
' =========================================================
' La boucle principale
'
« C’est là le « BBS » commence en fait.
'
The.main.Loop :
Redémarrer :
VOIR IMPRIMER
GOSUB Dtrlow
GOSUB Dtrhi
CLS
IMPRIMER
LOCALISER 2, 30 : Imprimer "version BBS lizzyied 0,001"
IMPRIMER
Wait.for.Ring :
FAIRE
C = 256
TROUVER 3, 30
DATE D’IMPRESSION $; " "; $ DE L’HEURE
LOCALISER 4, 30
PRINT "Rs232:" ; INP(RS232.port)
GOSUB Carchek
BOUCLE jusqu'à Carrier
' -----------------------------------------------------
« commencer
Mainloop :
VOIR IMPRIMER 6 À 25
GOSUB Clear.garbage
IMPRIMER
' -----------------------------------------------------
' en-tête
Idtsconnectionmanagercache100.UseFile$ = « prelog »
GOSUB File.display
' -----------------------------------------------------
« ouverture de session
ouverture de session :
Time.in$ = temps$
Juridique = False
APPEL Lout ("Veuillez entrer votre nom:", False)
GOSUB Gline
Log.Name$ = In.line$
APPEL Lout ("", True)
PROCHE #4
OUVRIR le « I », #4, « userfile »
FAITES TOUT EN EOF(4) PAS
ENTRÉE #4, Name.in$, Pass.in$, statut, commencer$
IF UCASE$(Name.in$) = UCASE$(Log.name$) ou Name.in$ = « END » THEN EXIT DO
BOUCLE
IF Name.in$ = « END » THEN
GOSUB New.user
D’AUTRE
POUR xdummy = 1 à 3
APPEL Lout ("mot de passe:", False)
GOSUB Gline
Pass.Word$ = ""
Pass.Word$ = In.line$
APPEL Lout ("", True)
IF Pass.word$ = Pass.in$ THEN
SORTIE POUR
Else if ((Pass.word$ <> Pass.in$) et (xdummy > 3)) puis
violent = 1
Fermeture de session GOTO
END IF
Xdummy suivante
END IF
PROCHE #4
' -----------------------------------------------------
« principal
menu.Item$ = ""
FAIRE en UCASE$(menu.item$) <> "G"
Idtsconnectionmanagercache100.UseFile$ = « post2 »
GOSUB File.display
APPEL Lout ("", True)
APPEL Lout ("votre choix:", False)
GOSUB Clear.garbage
GOSUB Gchar
menu.Item$ = UCASE$(CHR$(C))
APPEL Lout ("", True)
SELECT CASE menu.item$
CASE « D »
GOSUB file.download
AFFAIRE « B »
Bulletins de GOSUB
CASE « G »
violent = 0
END SELECT
IF transporteur = False ou Char.timeout THEN EXIT DO
BOUCLE
' -----------------------------------------------------
"pied de page
Idtsconnectionmanagercache100.UseFile$ = « épilogue »
GOSUB File.display
' -----------------------------------------------------
« mettre en pause
Pause :
POUR x = 1 à 4000
NEXT x
RETOUR
' -----------------------------------------------------
« fermeture de session
Fermeture de session :
OPEN « append », #5, « worklog »
PRINT #5, Name.in$, Pass.word$, Time.in$, TIME$, violent
PROCHE #5
a$ = « Déconnexion »
APPEL de Lout (a$, True)
a$ = "+++"
APPEL de Lout (a$, True)
T = TIMER
FAIRE
BOUCLE jusqu'à TIMER > 4 + T
IMPRESSION « rotation de DTR faible »
GOSUB Dtrlow
APPEL delay(2)
IMPRIMER « Bringing DTR haute »
GOSUB Dtrhi
APPEL delay(2)
RETOUR
' ------------------------------------------------------
Carchek :
CC = (INP(Rs232.port) et Cdmask)
IF CC = 128 PUIS
Transporteur = True
D’AUTRE
Transporteur = False
END IF
RETOUR
' ------------------------------------------------------
Clear.garbage :
SI CE N’EST EOF(1) PUIS
FAIRE
Clizzyied$ = $ d’entrée (1, #Mod.dem)
BOUCLE jusqu'à EOF(Mod.dem)
END IF
RETOUR
' ------------------------------------------------------
end.of.job :
OPEN « append », #5, « worklog »
PRINT #5, « Fin de l’utilisation », $ de l’heure, DATE$
PROCHE #5
FERMER
RETOUR
' ===========================================================================

VOID delay (Secs)
' ------------------------------------------------
« délai - attendre tant de secondes
délai (en secondes) :
T1 = TIMER
FAIRE
BOUCLE jusqu'à minuterie > 40 + T1
END SUB

VOID flush (temps)
' ----------------------------------------------------
« Rincer - tampon
T = TIMER
FAIRE
Si ce n’est EOF(Mod.dem) puis
Dummy$ = INPUT$(LOF(Mod.dem), #Mod.dem)
END IF
BOUCLE jusqu'à minuterie > T + temps
END SUB

VOID Lout (l$, Cr)
' ---------------------------------------------------
« lout - sortie ligne
POUR j = 1 TO LEN(l$)
G = ASC (MID$ ($l, j, 1))
IMPRESSION #Mod.dem, CHR$(G) ;
IMPRESSION #Console, CHR$(G) ;
J NEXT
IF Cr puis
IMPRESSION #Mod.dem, Car.ret$ ; Lfeed$
IMPRESSION #Console, Car.ret$ ;
END IF
END SUB
[/ code]

Articles Liés

Comment faire pour enregistrer facilement l’écran avec Linux et convertir la vidéo

Comment faire pour enregistrer facilement l’écran avec Linux et convertir la vidéo

Comment To facilement Record l'écran avec Linux et convertir Video - pour plus de vidéos drôles, cliquez ici , j'ai passé des heures à écrire un guide sur comment faire pour enregistrer un screencast, ou un dossier, ce qui est sur le bureau et conver
Récupération de fichiers avec Linux

Récupération de fichiers avec Linux

bienvenues, collègues espions. En particulier vous, Agent [votre nom ici] ! Je suis ici pour vous apprendre comment faire un outil indispensable pour n'importe quel espion doués en informatique. Pour votre commodité, ce message ne sera pas self destr
Text to speech avec linux.

Text to speech avec linux.

Toujours voulu obtenir votre ordinateur pour parler. Cela pourrait être vraiment important en cas d'urgence si vous ne pouvez pas parler. Il est si facile de le faire.Maj : Ajout d'une section pour lire un fichier texte.Remarque : Il y a une interfac
Numériser un livre avec Linux

Numériser un livre avec Linux

j'ai essayé plusieurs méthodes pour la numérisation des livres et c'est le moins stressant. L'essentiel du travail est réduite grâce au fait que la ligne de commande sous Linux fait une grande partie du travail plus pénible pour vous.En dehors de la
Enregistrer les Codes infrarouges de n’importe quelle unité de télécommande pour une utilisation avec Linux Infrared Remote Control (LIRC) sur le récepteur infrarouge GPIO à partir de framboise Pi

Enregistrer les Codes infrarouges de n’importe quelle unité de télécommande pour une utilisation avec Linux Infrared Remote Control (LIRC) sur le récepteur infrarouge GPIO à partir de framboise Pi

IntroductionLes commandes sont orphelins lorsque l'appareil qu'ils contrôlent a cessé de fonctionner sont réutilisables sur votre facture pro forma de framboise. Après avoir terminé ce instructable, vous pouvez être intéressé à essayer les instructab
Piratage de sites Internet avec linux sqlmap et kali

Piratage de sites Internet avec linux sqlmap et kali

si votre sur le point que vous voulez pirater des sites Web avec Kali Linux ? Eh bien votre sur le bon endroit ! Aujourd'hui je vais vous montrer comment pirater un site avec sqlmap en Kali Linux.Étape 1: Lancez Kali LinuxJe suppose que vous savez co
En utilisant le Module de commande de l’iRobot Create avec Linux

En utilisant le Module de commande de l’iRobot Create avec Linux

depuis iRobot n'a pas fourni les utilisateurs de linux avec un moyen d'utiliser le module de commande, j'ai dû moi-même le comprendre.Ne soyez pas intimidé, c'est pas difficile du tout, vraiment. Tout que vous devez faire est d'exécuter quelques scri
Piratage la Rigol DS1052E Oscilloscope avec Linux

Piratage la Rigol DS1052E Oscilloscope avec Linux

j'ai été sur le marché pour un oscilloscope, mais je ne voulais pas dépenser beaucoup.  J'ai découvert Rigol et leur ligne de portées de 300-400 $ et s'apprêtait à en acheter un.  Puis, j'ai trouvé un post sur comment faire votre DS1052E, qui coûte e
Pirater un ordinateur sur votre réseau avec linux kali

Pirater un ordinateur sur votre réseau avec linux kali

Hé les gars !Si vous voulez pirater un ordinateur et vous avez Kali linux installé ?Alors vous êtes sur le bon endroit !Je vais vous montrer comment pirater un ordinateur.Étape 1: Démarrer Kali LinuxDémarrer Kali Linux et commencer un nouveau termina
Piratage Internet magasins avec linux burpsuite et kali

Piratage Internet magasins avec linux burpsuite et kali

Hé les gars !Dans ce instructable je vais vous montrer comment pirater quelques magasins d'Internet !Étape 1: Démarrer BurpsuiteAllez dans Applications > Kali Linux > Top 10 outils de sécurité > BurpsuiteÉtape 2: Désactiver interceptDans le proxy
Mise en place d’un ordinateur basé le DVR (avec Mythtv pour linux).

Mise en place d’un ordinateur basé le DVR (avec Mythtv pour linux).

En plusieurs instructables, j'ai parlé Mythtv un ordinateur basé dvr (enregistreur vidéo numérique). N'a pas vu n'importe quelle raison pourquoi je devrais payer un loyer quand il y a des ordinateurs peu coûteux à faire de même. Non seulement ce que
Premiers pas avec Ubuntu Linux

Premiers pas avec Ubuntu Linux

Linux a été le système d'exploitation (OS) de choix pour l'ordinateur averti depuis sa création, mais dans les deux dernières années avec la sortie de petit linux basé physiques plates-formes informatiques comme le Raspberry Pi, BeagleBone et Arduino
Les ordinateurs presque libres ou en utilisant des Clients légers avec Debian linux.

Les ordinateurs presque libres ou en utilisant des Clients légers avec Debian linux.

Si vous voulez mettre en place un réseau de petite taille pour une entreprise ou juste pour la maison. Pensez à des clients légers. L'utilisation de clients légers a toujours été une chose importante avec moi. Bien qu'ils soient minis sous-ensembles
Conseils de Linux.

Conseils de Linux.

Voir aussi :Quelques idées de quickie j'ai mis togethr qui pourrait être d'intérêt. J'ai essayé de garder chacun d'eux à une seule étape.Étape 1: Installer un pilote MsWindows sur linux.Étape 2: Message de la journée,Étape 3: Conflits de bibliothèque