Julia之快速构建HTTP效劳ITeye - 凯发娱乐

Julia之快速构建HTTP效劳ITeye

2019年04月11日11时33分28秒 | 作者: 恨桃 | 标签: 效劳,代码,便是 | 浏览: 2467

Julia首先是个核算机编程言语,其次才是它声称的面向科学核算的言语。

所以,核算机编程言语所有必要的I/O肯定是要有的,文件的I/O下一篇文章讲,今日就讲网络I/O。

 

 先引进一段超级强壮的官版HTTP代码

using Pkg
Pkg.add("HTTP")
using HTTP
HTTP.listen() do request::HTTP.Request
 @show request
 @show request.method
 @show HTTP.header(request, "Content-Type")
 @show HTTP.payload(request)
 println(typeof(request))
 return HTTP.Response("Hello,Julia")
 catch
 return HTTP.Response(404, "Error: $e")

 各位看官,这便是http效劳了,只需运转这段代码,然后拜访本地IP:8081就可以在浏览器里看到Hello,Julia了。

扶好自己的下巴,接着听我说,现在这个还短缺路由映射的功用,MVC的功用。补全这些是不是便是 spring-julia-mvc结构了呢?当然还要有并发异步的才能。其他如同也就不差什么了。

至于怎样补全成为一个JuliaMVC结构,菜鸟自己海补去,高手理解就好,补不补全看爱好了。

 

介绍完了HTTP,接下来说说Socket吧,仍是上代码

using Sockets
@async begin
server = listen(2001)
 while true
 sock = accept(server)
 @async while true
 write(sock,readline(sock))

 上面代码便是一个Socket Server了,并且是多线程的,由于加了@async 这个奇特的关键字。这真的是个加分项,是个超级斗胆且前卫的规划。很明显这段代码构建了一个很简单的应对效劳器,客户端衔接后,输入啥,效劳器就回来啥。便是个Mirror Server。咱们拿nc 测验一下。没有nc的,自己装去,不明白nc是啥的自己脑补去。

lybdeMacBook-Pro:~ lyb$ nc 127.0.0.1 2001
Hello,this is nc test
Hello,this is nc test

 如上测验,用nc衔接后,输入Hello,this is nc test 回车,效劳回来了相同的内容,到此就现已证明julia socket server成功了。至于要用socket做什么工作,那就要拟定协议和编码咯。就像最初的HTTP,也便是在socket之上做了对HTTP协议的完成罢了,不过我仍是很敬服的,一个很年青的言语,现已有人花功夫去开发周边了。我可没时间,仍是拿来主义好啊,当然了,要拿好的。

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表凯发娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章