Changeset 2479
- Timestamp:
- 08/05/07 12:02:25 (1 year ago)
- Files:
-
- trunk/example/networking/socketserver.d (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/example/networking/socketserver.d
r2465 r2479 24 24 { 25 25 const int port = 8080; 26 const char[] host = "localhost"; 27 28 // thread body for socket listener 26 27 // thread body for socket-listener 29 28 void run() 30 29 { 31 // instantiate a server socket 32 auto server = new ServerSocket (new InternetAddress(host, port)); 33 while (true) 34 { 35 // wait for requests 36 auto request = server.accept(); 30 auto server = new ServerSocket (new InternetAddress(port)); 31 32 // wait for requests 33 auto request = server.accept; 37 34 38 // write a response 39 request.output.write ("server replies 'hello'"); 40 } 35 // write a response 36 request.output.write ("server replies 'hello'"); 41 37 } 42 38 43 // start server in a seperate thread 44 auto server = new Thread (&run); 45 server.isDaemon = true; 46 server.start; 47 48 // and wait for server thread to start 49 Thread.sleep (1.0); 39 // start server in a separate thread, and wait for it to start 40 (new Thread (&run)).start; 41 Thread.sleep (0.250); 50 42 51 43 // make a connection request to the server 52 44 auto request = new SocketConduit; 53 request.connect (new InternetAddress( host, port));45 request.connect (new InternetAddress("localhost", port)); 54 46 55 // wait for response (there is an optional timeout supported)47 // wait for and display response (there is an optional timeout) 56 48 char[64] response; 57 49 auto len = request.input.read (response); 50 Cout (response[0..len]).newline; 58 51 59 // close socket60 52 request.close; 61 62 // display server response63 Cout (response[0..len]).newline;64 53 }












