在mac系统贯彻一个websocket常驻进程服务。在mac系统实现一个websocket常驻进程服务。

(一).准备工作,(一).准备工作

是因为工作的来由,近期查了瞬间mac系统下常驻服务之收到websocket信息和创办进程的不二法门原理。将具体实现细节记录下来备忘。

是因为工作之来由,近期查了转mac系统下常驻服务之收取websocket信息及创建进程的艺术原理。将具体实现细节记录下来备忘。

(一).准备工作

(一).准备工作

1.设置brew,在巅峰中输入:

1.安装brew,在极端中输入:

ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)” 

ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)” 

小心:如果手上之用户是管理员,需要针对权力进行许可,在实施方的命前先实行:sudo
chmod -R g+w /usr/local 

瞩目:如果手上之用户是组织者,需要对权力进行许可,在尽方的下令前先行实行:sudo
chmod -R g+w /usr/local 

2.安装boost

2.安装boost

(a).brew install boost

(a).brew install boost

(b).添加boost环境变量,vi ~/.bash_profile

(b).添加boost环境变量,vi ~/.bash_profile

超文件的末段添加BOOST_LIBS=/usr/local/lib;BOOST_INCLUDES=/usr/local/include/boost;

超文件的末梢添加BOOST_LIBS=/usr/local/lib;BOOST_INCLUDES=/usr/local/include/boost;

3.安装openssl

3.安装openssl

(a).下充斥并解压openssl

(a).下充斥并解压openssl

https://www.openssl.org/source/openssl-1.0.2l.tar.gz

https://www.openssl.org/source/openssl-1.0.2l.tar.gz

(b).sudo ./config –prefix=/usr/local/openssl  

(b).sudo ./config –prefix=/usr/local/openssl  

(c).make;make install

(c).make;make install

(d).添加openssl环境变量,vi ~/.bash_profile

(d).添加openssl环境变量,vi ~/.bash_profile

通往文件的尾巴添加:OPENSSL_PATH=/usr/local/opt/openssl

向文件之尾巴添加:OPENSSL_PATH=/usr/local/opt/openssl

4.下载websocketpp源代码

4.下载websocketpp源代码

https://github.com/zaphoyd/websocketpp

https://github.com/zaphoyd/websocketpp

(二)websocketpp集成工程安排

(二)websocketpp集成工程安排

1.创造一个xcode command line tools工程

1.开立一个xcode command line tools工程

2.装置好Herder文件,lib文件搜寻路径和连接库参数

2.安装好Herder文件,lib文件搜寻路径和连接库参数

 

 

 

 

图片 1

图片 2

 

 

 

 

图片 3

图片 4

 

 

3.编code,并编译成可执行文件

3.编纂code,并编译成可执行文件

(三)创建一个 mac 的后台进程(daemon)

(三)创建一个 mac 的后台进程(daemon)

1.编写plist文件

1.编写plist文件

<?xml version=”1.0″ encoding=”UTF-8″?>

<?xml version=”1.0″ encoding=”UTF-8″?>

<!DOCTYPE plist PUBLIC “-//Apple//DTD PLIST 1.0//EN”
“http://www.apple.com/DTDs/PropertyList-1.0.dtd"&gt;

<!DOCTYPE plist PUBLIC “-//Apple//DTD PLIST 1.0//EN”
“http://www.apple.com/DTDs/PropertyList-1.0.dtd"&gt;

<plist version=”1.0″>

<plist version=”1.0″>

<dict>

<dict>

<key>Label</key>

<key>Label</key>

<string>com.liuxt.cmdservice</string>

<string>com.liuxt.cmdservice</string>

<key>ProgramArguments</key>

<key>ProgramArguments</key>

<array>

<array>

<string>/Users/Shared/cmdservice</string>

<string>/Users/Shared/cmdservice</string>

</array>

</array>

<key>RunAtLoad</key>

<key>RunAtLoad</key>

<true/>

<true/>

</dict>

</dict>

</plist>

</plist>

 

 

 

 

 3.将编译好之command line service可执行程序copy到

 3.将编译好的command line service可执行程序copy到

/Users/Shared/

/Users/Shared/

目录下,将plist文件copy到

目录下,将plist文件copy到

/Library/LaunchDaemons/目录下

/Library/LaunchDaemons/目录下

 

 

4.双重开mac笔记本,可以发现command line service程序都运行起来了

4.再度开mac笔记本,可以窥见command line service程序已经运行起来了