从零开始写一个swift服务器(基于Mac)

写作目的

1.学习一下swift。
2.体验一下swift写服务器程序。

从零开始

1.新建一个文件夹,并且切换到该文件夹下。

mkdir MyFirstProject
cd MyFirstProject

2.源代码管理,使用git。

git init  //初始化git
touch README.html   //创建html文件
git add README.html  //添加html 文件到git
git commit -m "初始化"  // git 仓库初始化
git commit -m "添加Swift.gitignore" // 添加swift的忽略文件

3.创建swift包

touch Package.swift

打开Package.swift 文件,键入如下代码:

import PackageDescription

let package = Package (
        name: "MyFirstProject",
        dependencies: [
                .Package( url: "https://github.com/PerfectlySoft/Perfect-HTTPServer.git",
                majorVersion:2, 
                minor: 0
                )
        ]
)

4.创建一个文件夹用于保存swift代码, 并且创建一个名为main.swift的文件

mkidr Sources 
touch main.swift

在main.swift 中输入print ("Hello world!")

5.编译并运行

swift build   //编译
./.build/debug/MyFirstProject   // 运行

可以看到终端输出 Hello world!

6.在main.swift输入如下代码

import PerfectLib
import PerfectHTTP
import PerfectHTTPServer

let server = HTTPServer()
// Register your own routes and handlers
var routes = Routes()
routes.add(method: .get, uri: "/", handler: {
        request, response in
        response.setHeader(.contentType, value: "text/html")
        response.appendBody(string: "<html><title>Hello, world!</title><body>Hello, world!</body></html>")
        response.completed()
    }
)
 
// Add the routes to the server.
server.addRoutes(routes)
 
// Set a listen port of 8181
server.serverPort = 8181
 
do {
    // Launch the HTTP server.
    try server.start()
} catch PerfectError.networkError(let err, let msg) {
    print("Network error thrown: \(err) \(msg)")
}

7.重新编译运行,第一个swift服务器程序就写好了。
8.生成Xcode工程文件,这样就可以在Xcode中方便地打开和编写代码了

swift package generate-xcodeproj
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,262评论 4 61
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,079评论 19 139
  • 今天晚上去跑了两圈,身体感觉很舒畅。我想起来曾经说给自己的话—你所做的努力在未来的某一个时刻都会回报你的。 我很感...
    千目_阅读 212评论 0 0
  • 1利息 银行家的儿子问爸爸:“爸爸,银行里的钱都是客户和储户的。那你是怎样赚来房子、奔驰车和游艇的呢?” 银行家:...
    小陌故事会阅读 669评论 0 3
  • 梦如青春 青春如梦 一尘不染不染的青春 如一杯开水 少了一份激情 青春那些暗恋 那些冲动 是一种回忆 青春如歌 很...
    慕兮若阅读 202评论 1 1