使用Swift构建服务端

使用Swift后端开源框架Perfect,需要最新版本的Swift 4.0

创建Swift软件包

1、创建名为myServer的项目文件夹

1
2
mkdir myServer
cd myServer

2、初始化项目

1
swift package init --type=executable

3、打开Package.swift文件进行编辑(要求Swift编译的最低版本为3.0.0)

1
2
3
4
5
6
7
8
9
10
11
let package = Package(
name: "myServer",
dependencies: [
.package(url: "https://github.com/PerfectlySoft/Perfect-HTTPServer.git", from: "3.0.0")
],
targets: [
.target(
name: "myServer",
dependencies: ["PerfectHTTPServer"]),
]
)

4、编译和运行

1
2
swift build
.build/debug/myServer

设置服务器

1、在main.swift文件编写

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import PerfectHTTP
import PerfectHTTPServer
//注册路由和请求/响应句柄
var routes = Routes()
routes.add(method:.get,uri:"/"){request,response in
response.setHeader(.contentType, value: "text/html")
response.appendBody(string: "<html><title>Hello, world!</title><body>Hello, world!</body></html>")
.completed()
}
do{
// 启动HTTP服务器
try HTTPServer.launch(.server(name:"www.example.ca",port:8181,routes:routes))
}catch{
fatalError("\(error)")
}

2、再次编译运行可看到[INFO] Starting HTTP server www.example.ca on :::8181,此时服务器已启动运行,浏览器访问http://localhost:8181/就可以看到欢迎信息了。
control+c可停止服务器。
3、利用Swift软件包管理器(SPM)为项目生产Xcode工程,方便运行和调试

1
swift package generate-xcodeproj

4、打开工程,在”Library Search Paths“检索项目软件库中增加:

1
$(PROJECT_DIR) - Recursive

5、请选择 “My Mac”,选择”myServer”。现在您就可以在Xcode中运行调试您的服务器了。
Image text

补充

编译debug版本的使用:swift build,可执行文件被放在.build/debug/隐藏目录下;
编译release版本的使用:swift build -c release,可执行文件被放到.build/release/路径下;
清理编译临时文件,删除.build,使用:swift build –clean
清理.build目录和Packages目录,使用:swift build –clean=dist

打赏支持一下呗!