30/05/08 16:41
^JAVA^
Ciao raga come va?
Dovrei creare un programma (Client/Server) in D(in ambiente Linux),potete dirmi che librerie devo includere?
Ciao.
aaa
30/05/08 21:29
^JAVA^
Innanzitutto grazie funziona quasi tutto perchè quando provo a visualizzare l' array di char(buffer) del server mi da invalid UTF-8.
Ciao.
aaa
31/05/08 13:19
Dax89
mmmh, si anche io ho ogni tanto quel problema, devo ancora capire perchè...
Prova a cambiare il tipo del buffer in ubyte ad esempio.
Oppure, quando stampi su schermo fai:
import std.string; //Importa questo modulo aggiuntivo.
char[255] buffer; //Il buffer dove vengono messi i dati ricevuti
//buffer.ptr è come &buffer (puoi usare entrambi i metodi)
writefln("%s", std.string.toString(buffer.ptr));
Non sono sicuro che funzioni comunque
Ultima modifica effettuata da Dax89 31/05/08 13:20
aaa
31/05/08 14:15
^JAVA^
Ciao, ho provato a fare come mi hai detto te ma non va lo stesso, dando un occhiata al sito della Digital Mars sono riuscito a risolvere:
Client:
_________________________
import std.stdio; //Libreria standard
import std.socket; //Per usare i socket
void main(string[] args)
{
//Istanzio la classe TcpSocket
TcpSocket sock = new TcpSocket();
//new InternetAddress(indirizzo, porta)
sock.connect(new InternetAddress("IP", porta));
char[]str="Hello Socket!";
//Invio testo
sock.send(cast(ubyte[])str);//Lo converto in ubyte
sock.close();//Chiudo la socket
}
Server:
____________________________________
import std.stdio;
import std.socket;
void main(string[] args)
{
ubyte[] buffer=new ubyte[255];
TcpSocket sock = new TcpSocket();//Istanzio la classe TcpSocket
//E' possibile omettere l'indirizzo perchè
//c'è un costruttore che accetta solo la porta
//e come indirizzo prende quello del pc.
sock.bind(new InternetAddress(Porta));
sock.listen(1);
Socket serv=sock.accept();//Accetto la connessione in ingresso
serv.receiveFrom(buffer);//Ricevo i dati inviati e li immagazziono in un buffer
writefln(cast(string)buffer);//Li stampo a video
sock.close();//Chiudo i socket
serv.close();
}
Grazie e Ciao!!!
Ultima modifica effettuata da ^JAVA^ 31/05/08 14:17
aaa