www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Does D have high-performance sockets

reply "D Day" <damianday hotmail.co.uk> writes:
Are there any implementations of this anywhere for D?

I really only care about the windows platform - and have 
considered writing this myself with IOCP and std.socket, but I 
figure someone else must have already done something similar?
Jun 12 2012
next sibling parent "Regan Heath" <regan netmail.co.nz> writes:
On Tue, 12 Jun 2012 22:29:58 +0100, D Day <damianday hotmail.co.uk> wrote:

 Are there any implementations of this anywhere for D?

 I really only care about the windows platform - and have considered  
 writing this myself with IOCP and std.socket, but I figure someone else  
 must have already done something similar?

Not in the standard library as yet. The thing holding this back, I believe, is the difficulty making it work "the same" cross platform. Someone might have their own tho.. R -- Using Opera's revolutionary email client: http://www.opera.com/mail/
Jun 13 2012
prev sibling next sibling parent Dmitry Olshansky <dmitry.olsh gmail.com> writes:
On 13.06.2012 1:29, D Day wrote:
 Are there any implementations of this anywhere for D?

 I really only care about the windows platform - and have considered
 writing this myself with IOCP and std.socket, but I figure someone else
 must have already done something similar?

Take a look at vibe.d. While it looks like framework it could be used as library just as easy. http://vibed.org/ -- Dmitry Olshansky
Jun 13 2012
prev sibling next sibling parent "Jarl =?UTF-8?B?QW5kcsOpIg==?= <jarl.andre gmail.com> writes:
On Wednesday, 13 June 2012 at 10:24:58 UTC, Dmitry Olshansky
wrote:
 On 13.06.2012 1:29, D Day wrote:
 Are there any implementations of this anywhere for D?

 I really only care about the windows platform - and have 
 considered
 writing this myself with IOCP and std.socket, but I figure 
 someone else
 must have already done something similar?

Take a look at vibe.d. While it looks like framework it could be used as library just as easy. http://vibed.org/

My solution might be too simple. I made a simple socket server that is single threaded, based on std.socket. Its really neat as a need to have socket server library but I wouldn't recommend using it in high performance applications. It imitates actually QuickServer in Java, and the code shows clearly that I come from a Java background https://github.com/jarlah/d2-simple-socket-server
Jun 13 2012
prev sibling next sibling parent "Dejan Lekic" <dejan.lekic gmail.com> writes:
On Wednesday, 13 June 2012 at 15:53:15 UTC, Jarl André wrote:
 On Wednesday, 13 June 2012 at 10:24:58 UTC, Dmitry Olshansky
 wrote:
 On 13.06.2012 1:29, D Day wrote:
 Are there any implementations of this anywhere for D?

 I really only care about the windows platform - and have 
 considered
 writing this myself with IOCP and std.socket, but I figure 
 someone else
 must have already done something similar?

Take a look at vibe.d. While it looks like framework it could be used as library just as easy. http://vibed.org/

My solution might be too simple. I made a simple socket server that is single threaded, based on std.socket. Its really neat as a need to have socket server library but I wouldn't recommend using it in high performance applications. It imitates actually QuickServer in Java, and the code shows clearly that I come from a Java background https://github.com/jarlah/d2-simple-socket-server

There is also this nice project: https://github.com/meh/nucular
Jun 13 2012
prev sibling parent "D Day" <damianday hotmail.co.uk> writes:
On Wednesday, 13 June 2012 at 17:21:15 UTC, Dejan Lekic wrote:
 On Wednesday, 13 June 2012 at 15:53:15 UTC, Jarl André wrote:
 On Wednesday, 13 June 2012 at 10:24:58 UTC, Dmitry Olshansky
 wrote:
 On 13.06.2012 1:29, D Day wrote:
 Are there any implementations of this anywhere for D?

 I really only care about the windows platform - and have 
 considered
 writing this myself with IOCP and std.socket, but I figure 
 someone else
 must have already done something similar?

Take a look at vibe.d. While it looks like framework it could be used as library just as easy. http://vibed.org/

My solution might be too simple. I made a simple socket server that is single threaded, based on std.socket. Its really neat as a need to have socket server library but I wouldn't recommend using it in high performance applications. It imitates actually QuickServer in Java, and the code shows clearly that I come from a Java background https://github.com/jarlah/d2-simple-socket-server

There is also this nice project: https://github.com/meh/nucular

I should of mentioned my interest is purely asynchronous TCP/UDP. Anyways, there are some great projects here. I had no idea vibe.d could be used as a TCP server/client! Nucular does also seem to be promising and a good fit for my projects. Thanks for the information, and if there are any other great projects out there, please do share it will benefit us all I'm sure.
Jun 13 2012