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: 985x Hodnocení: 50% (hodnoceno 2x) |
Vaše hodnocení: |
Komentáře
Nebyly přidány žádné komentáře.