2020-07-18 11:33
如果你要选择一个语言进行网络开发,我觉得应该关注这些点:
网络编程+事件编程(非阻塞的socket读写/定时器/信号)
多进程编程+进程间通信(信号, 管道, 信号量+共享内存 ,消息队列)
2020-07-17 23:55
用几十行PHP代码表达一个类似Nginx多进程架构的事件驱动的HTTP服务器这样写:
https://www.zhihu.com/question/395494009/answer/1241701447
请问Dlang怎么写,谁能写个Demo看看?
2020-07-18 13:15
import hunt.http;

void main()
{
auto server = HttpServer.builder()
.setListener(8080, "0.0.0.0")
.setHandler((RoutingContext context) {
context.write("Hello World!");
context.end();
}).build();

server.start();
}
2020-07-18 13:18
你这个hunt.http,跟PHP直接调用Swoole内置的HTTP Server一样,
看不出以下编程要点体现在哪里:
网络编程+事件编程(非阻塞的socket读写/定时器/信号)
多进程编程+进程间通信(信号, 管道, 信号量+共享内存 ,消息队列)
2020-07-18 13:22
网底层看可以了解 hunt 核心库的代码 ,内置 event 设计,也蕴含了 io 线程 和 worker 线程在内,很容易写出高并发的案例,服务端示例代码 https://github.com/huntlabs/hunt/blob/master/examples/tcp/source/server.d
2020-07-18 13:18
我看了这个知乎代码很多,依赖也比较多,这方面 DLang 肯定占优势,关于 HTTP 库可以查看 hunt-http ,包含 http 1.1 / http 2.0 / websocket 的客户端 和服务端支持,使用起来 比较简单,README 有简单的示例代码:
https://github.com/huntlabs/hunt-http
2020-07-18 13:27
我那个知乎回答,除了事件库使用了libevent的封装Event这个PECL扩展,其他的socket/多进程/信号等等这些,都是PHP默认内置的库,谈不上依赖.

所以说我讨论的不是框架,而是怎么用语言实现这么一个框架,你说的hunt,要比也是跟Swoole比了.我讨论的是Dlang和PHP本身的网络编程能力,具体点就是我上面所得那些关注点.
2020-07-18 13:32
我也认为 PHP 很好,至少比 Go 的表达力好很多,但是怎么说也是脚本语言,libevent 是 C 开发的,默认情况下所有语言 都可以调用,包括 DLang 也可以直接使用 libevent 做编程 开发,但是我觉得 PHP 本身就是做 web 服务端业务逻辑的编写,不适合于系统级编程语言比系统级的编程逻辑,如果说 PHP 写站点开发效率多么快,CMS 多么灵活这我们肯定都认可。但是底层编程来说 D 直接调用的是系统底层API甚至硬件接口,PHP 只能通过 C 等底层语言去调用,我们要认清脚本语言和系统级语言的核心优势 。
2020-07-15 21:34
生不逢时啊,go高并发力压啊
2020-07-15 08:03
需要开箱就能用的开发工具
2020-07-17 18:10
同求。。。不然没法在公司的项目中推广D语言。
2020-07-14 22:22
生态,生态,生态!重要的事情说三遍
2020-07-14 21:00
有对D语言动心的,可以试试了.
2020-07-14 18:53
您好,请问自己开发语言需要什么?
回复 @
{{emojiItem.symbol}}
返回顶部
顶部