Aiuto - Cerca - Utenti - Calendario
Versione completa: Mi serve qualcuno che sappia smanettare con i server
.: GBArl.it :. News sulle Console Nintendo - Emulazione - Flash Cards - Trainer > Discussioni Console Nintendo > Discussioni Nintendo DS > Hardware e Utilità DS
Aurelio
Come da titolo mi serve qualcuno che mi sappia fare un server per la chat che sto creando per il ds da aggiungere nel mio dsos.In pratica mi serve un serve un server che quando riceve una stringa la reinvia.C'è qualcuno capace di farmelo?
Grazie
Aurelio
UP
Brisma
Non sarebbe più comodo sfruttare il protocollo irc?
Aurelio
CITAZIONE (Brisma @ Friday 1 June 2007 - 18:57) *
Non sarebbe più comodo sfruttare il protocollo irc?

Beh se sapessi come usarlo lo userei.Ma non lo so fare...Mi serve qualcuno che mi crei un server innocent.gif
Aurelio
UP.Mi serve un server per la chat del dsos e anche per il mio gioco della Tombola...Nessuno?
zanna
penso che dovresti essere un po' più preciso nella tua richiesta nel caso qualcuno volesse aiutarti smile.gif
lordfabio
in effetti... specifica come e cosa deve fare il server, che comandi deve avere, su che macchina vorresti farlo girare etc... smile.gif
Aurelio
Allora.Io sto facendo questa chat.E voglio che quando un ds invia un messaggio al server, il server permetta ad un altro DS di scaricarsi questo messaggio.
Fuego DS
Se ho capito bene cerchi un programma che si mette in ascolto su una porta TCP in attesa di connessioni e tutti i client che vi si connettono inviano messaggi che vengono rispediti in broadcast a tutti i client connessi, giusto?

Qui ho trovato un tutorial in italiano che ti spiega bene come funziona (In Java):
http://www.lorenzobettini.it/articoli/cliserv/client.htm

Con annesso codice sorgente dell'applicazione che cerchi (Sempre in Java):
http://www.lorenzobettini.it/articoli/clis...ChatServer.java

Buon lavoro smile.gif
Kerio
se è completamente digiuno di programmazione, il java forse non è la soluzione migliore

prova il python!

www.python.org
Aurelio
Tengo a precisare che di programmazione so il C e c++.Python e java non li capisco
sn0z33r
allora aurelio... perdona la troppa franchezza... ma se non sai cosa sia un socket come pretendi di implementare un "protocollo client/server" o solo di poter scrivere un client se non hai mai fatto networking ?? E' ammirevole la volonta' e l'impegno che metti in quello che fai pero' prima o poi ti devi "arrendere" o meglio devi fermarti a studiare un paio di cose.... tra l'altro la sintassi del java e' praticamente identica a quella del c++ se non consideriamo i modificatori di visibilita' e le regular expression.... quindi eventualmente saresti in grado (se davvero sapessi il c++) di leggere e capire un listato java. Dato che poi java e' fortemente orientato agli oggetti con la documentazione alla mano e' IMPOSSIBILE che tu non capisca il codice dato che torno a ripetere il paradigma ad oggetti e' lo stesso in java cosi' com'e' identico in c++... quindi le tue richieste prive di ogni richiesta tecnica (non s'e' ben capito se ti serve che lavori con socket sincroni o asincroni) non hai specificato il sistema operativo del server (e qui escono le proposte per java che e' multipiattaforma) e tante altre cose.........
forse e' davvero il momento di studiare un po' di programmazione di rete...
Fuego DS
CITAZIONE (sn0z33r @ Sunday 24 June 2007 - 19:49) *
allora aurelio... perdona la troppa franchezza... ma se non sai cosa sia un socket come pretendi di implementare un "protocollo client/server" o solo di poter scrivere un client se non hai mai fatto networking ?? E' ammirevole la volonta' e l'impegno che metti in quello che fai pero' prima o poi ti devi "arrendere" o meglio devi fermarti a studiare un paio di cose.... tra l'altro la sintassi del java e' praticamente identica a quella del c++ se non consideriamo i modificatori di visibilita' e le regular expression.... quindi eventualmente saresti in grado (se davvero sapessi il c++) di leggere e capire un listato java. Dato che poi java e' fortemente orientato agli oggetti con la documentazione alla mano e' IMPOSSIBILE che tu non capisca il codice dato che torno a ripetere il paradigma ad oggetti e' lo stesso in java cosi' com'e' identico in c++... quindi le tue richieste prive di ogni richiesta tecnica (non s'e' ben capito se ti serve che lavori con socket sincroni o asincroni) non hai specificato il sistema operativo del server (e qui escono le proposte per java che e' multipiattaforma) e tante altre cose.........
forse e' davvero il momento di studiare un po' di programmazione di rete...


Quoto.
E infatti consiglio ad Aurelio di leggersi bene il tutorial e la documentazione (in poche parole devi studiare biggrin.gif) per farsi un'idea più approfondita sui socket. Se conosci il C/C++, a maggior ragione puoi comprendere il Java. In Java è molto semplice scrivere un piccolo server, cosa che in C/C++ è più complicata anche a causa della non immediatezza della gestione del multithreading.
Aurelio
Aspettate.Io il codice l'ho fatto.è questo:
CODICE
// Includes
#include <PA9.h>       // Include for PA_Lib
#define server "i don't have it yet"
char text[256]; // This will be our text...
char textrecv[256]; //This is the text that we will receive
s32 scroll=0;
// Function: main()
int main(int argc, char ** argv)
{
    PA_Init();    // Initializes PA_Lib
    PA_InitVBL(); // Initializes a standard VBL
    PA_InitText(1, 0);  // Initialise the text system
    PA_InitText(0, 0);
    PA_InitKeyboard(2); // Load the keyboard on background 2...
    PA_KeyboardIn(20, 95);
    PA_InitWifi(); //Initializes the wifi
    PA_ConnectWifiWFC();
    int sock;
    s32 nletter = 0; // Next letter to right. 0 since no letters are there yet
    char letter = 0; // New letter to write.
    // Infinite loop to keep the program running
    PA_InitSocket(&sock,server,80,PA_NONBLOCKING_TCP);
        PA_OutputText(0,0,8,"Ready");
    while (1)
    {
        letter = PA_CheckKeyboard();
        
        if (letter > 31) { // there is a new letter
            text[nletter] = letter;
            nletter++;
        }    
        else if ((letter == PA_BACKSPACE)&&nletter) { // Backspace pressed
            nletter--;
            text[nletter] = ' '; // Erase the last letter
        }
        else if (letter == '\n'){ // Enter pressed&send
        send(sock,text,256,0);
        PA_OutputText(1,0,scroll,"%s",text);
        scroll++;        
        }
        PA_OutputText(0, 0, 0, text); // Write the text received
        recv(sock,textrecv,256,0);
        if(textrecv[0]!='\0'){
        PA_OutputText(1,0,scroll,"%s",textrecv);
        scroll++;
        }
        PA_WaitForVBL();
    }
    
    return 0;
} // End of main()

Ma adesso mi serve un server da usare con questo programma.C'è qualcuno che mi sappia dire come e se è corretto questo codice?
PS:è commentato in inglese perchè l'avevo già postato sul sito palib
Aurelio
UP
Aurelio
up
Sephiroth87
Buona lettura wink.gif
Questa è la versione 'lo-fi' del forum. Per visualizzare la versione completa con molte più informazioni, formattazione ed immagini, per favore clicca qui.
Invision Power Board © 2001-2025 Invision Power Services, Inc.