Re: D Lang Socket Programming Example

2013-09-08 Thread Savsak

On Friday, 6 September 2013 at 21:02:09 UTC, Ali Çehreli wrote:

On 09/06/2013 01:47 PM, Savsak wrote:

 Hi Friends,

 Socket programming with the D programming language is the
most simple
 way how to do it

 For example, the sample with Tango, but not by phobos

 How do I do this with a simple, but phobos


 import tango.io.Stdout;

 import tango.net.Socket;
 import tango.net.ServerSocket;
 import tango.net.SocketConduit;

 int main() {
  Socket server = new Socket(AddressFamily.UNIX,
 SocketType.STREAM,
 ProtocolType.IP);

  while(true) {
  Socket client = server.accept();

  char[1024] buffer;
  client.receive(buffer);

  Stdout.format(The client said'{}'., buffer);

  client.shutdown(SocketShutdown.BOTH);
  client.detach();
  }
  return 0;
 }

Here is a Phobos translation:

import std.stdio;
import std.socket;

void main() {
Socket server = new TcpSocket();
server.setOption(SocketOptionLevel.SOCKET, 
SocketOption.REUSEADDR, true);

server.bind(new InternetAddress(8080));
server.listen(1);

while(true) {
Socket client = server.accept();

char[1024] buffer;
auto received = client.receive(buffer);

writefln(The client said:\n%s, buffer[0.. received]);

enum header =
HTTP/1.0 200 OK\nContent-Type: text/html; 
charset=utf-8\n\n;


string response = header ~ Hello World!\n;
client.send(response);

client.shutdown(SocketShutdown.BOTH);
client.close();
}
}

Ali

P.S. Note that there is also the D.learn newsgroup.

P.P.S. This question came up on two separate Turkish D forums 
recently:


  http://ddili.org/forum/post/10063


http://forum.ceviz.net/d-dili/127048-ddili-socket-okuma-veri-gonderme-quotnon-blocking-i-oquot.html



Thanks acehreli

In the example you give, but I receive this error during 
compilation.


savsak:~ savsak$ dmd /Users/savsak/Desktop/test.d
ld: library not found for -lphobos2
collect2: ld returned 1 exit status
--- errorlevel 1


D Lang Socket Programming Example

2013-09-06 Thread Savsak

Hi Friends,

Socket programming with the D programming language is the most 
simple way how to do it


For example, the sample with Tango, but not by phobos

How do I do this with a simple, but phobos


import tango.io.Stdout;

import tango.net.Socket;
import tango.net.ServerSocket;
import tango.net.SocketConduit;

int main() {
Socket server = new Socket(AddressFamily.UNIX,
   SocketType.STREAM,
   ProtocolType.IP);

while(true) {
Socket client = server.accept();

char[1024] buffer;
client.receive(buffer);

Stdout.format(The client said'{}'., buffer);

client.shutdown(SocketShutdown.BOTH);
client.detach();
}
return 0;
}