D Lang Socket Programming Example
Savsak
savsaktheteam at gmail.com
Sun Sep 8 03:42:21 PDT 2013
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
More information about the Digitalmars-d
mailing list