|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Oct 2003
Città: Trento
Messaggi: 86
|
[bash/Python ?] script telnet
Salve a tutti,
prepongo che ciò che devo chiedere non ha nulla a che spartire con un Dos et simila ho realizzato un server in C++ con epoll (http://en.wikipedia.org/wiki/Epoll) per testarlo al confronto della "vecchia" select. il mio problema deriva dal fatto che dovrei testarlo con circa 1000 utenti, ma è una follia aprire 1000 terminali così ho cominciato a cercare soluzioni basate sulla programmazione. Ho provato con uno script bash e con python (dei quali sono molto, molto ignorante Codice:
#!/bin/bash for i in $(seq 1 1000); do nc localhost 2020; done Codice:
import getpass import sys import telnetlib import time HOST = "localhost" i=0 while i<1000: i=i+1 print i tn = telnetlib.Telnet(HOST, 2020) time.sleep(1) come posso fare? non avendo mai fatto una cosa del genere non so bene da dove iniziare, non dovrò mica threaddare ogni chiamata?! Grazie! saluti Riccardo
__________________
Essere o non Essere... Una linea tenue come la nebbia che svanisce al mattino |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 2011
Messaggi: 381
|
ciao, ci sono diverse soluzioni, la prima, quella con il bash, è che quando esegui il telnet lo mandi in background. La seconda è farlo in c++.
Io opterei decisamente per la seconda.
__________________
Concluso positivamente con: Kamzata, Ducati82, Arus, TheLastRemnant, ghost driver, alexbull1, DanieleRC5, XatiX |
|
|
|
|
|
#3 | ||
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Prova così: Codice:
import getpass import sys import telnetlib import time HOST = "localhost" Connections = [] for i in xrange(1, 1001): print i Connections.append(telnetlib.Telnet(HOST, 2020)) time.sleep(1) Soltanto quando esci dal ciclo e il programma termina verranno poi chiuse tutte le connessioni aperte, quando la lista verrà distrutta. Quote:
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Oct 2003
Città: Trento
Messaggi: 86
|
my god !!
funziona ! ( dovrò approfondire il python, ora come ora mi sento molto in crisi anche solo ad andare a capo senza mettere un terminatore, per non parlare della dichiarazione delle variabili comunque proprio ingenuo! non mi ero nemmeno soffermato sul fatto di riscrivere la stessa variabile, sono stato un pò fregato dal fatto che ne apre fino a 10 contemporaneamente ma solo perchè epoll non l'ha ancora processata come disconnessa (anche se in realtà non esisteva più) grazie mille! ora ho un fantastico segmentation fault alla 893esima connessione ma questa è un'altra storia
__________________
Essere o non Essere... Una linea tenue come la nebbia che svanisce al mattino |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Devi farli partire in parallelo (aggiungi la & alla fine del comando per farlo partire in background)
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:12.



















