Sockety v jazyce D - server a klient (blokující)
Jednoduchý příklad serveru a klienta v jazyce D s využitím blokujícího socketu. (Jednoduchá implementace, server se ale zasekne pokud mu klient neodpoví - nevhodné pro nedůvěryhodné klienty.)
Klient
import std.stdio;
import std.socket;
import std.stream;
import std.socketstream;
int main(){
Socket socket = new TcpSocket(new InternetAddress("localhost",1234));
Stream stream = new SocketStream(socket);
stream.write("Ahoj servere!");
char[] buffer = new char[20];
stream.read(buffer);
writeln("Server zaslal: " ~ buffer);
stream.close();
socket.close();
return 0;
}
Server
import std.stdio;
import std.socket;
import std.stream;
import std.socketstream;
int main(){
Socket listener = new TcpSocket;
listener.bind(new InternetAddress(1234));
listener.listen(10);
while(true){
// accept() bude cekat dokud se nepripoji nejaky klient
Socket client = listener.accept();
Stream stream = new SocketStream(client);
writeln("Pripojen klient");
// poslat klientovi
stream.write("Ahoj kliente!");
// prijmout od klienta
char[] buffer = new char[20];
stream.read(buffer);
writeln("Klient zaslal: " ~ buffer);
writeln("Odpojen klient");
stream.close();
client.close();
}
listener.close();
return 0;
}
|
Autor: Vydáno: 20.1.2013 14:05 Přečteno: 1024x Hodnocení: 50% (hodnoceno 2x) |
Vaše hodnocení: |
Komentáře
Nebyly přidány žádné komentáře.