unix网络编程卷1
第一步环境搭建 (本步需要下载unpv13e.tar.gz)
本人刚开始接触网络编程,因此将一些个人遭遇写下,希望能有助于他人,本人菜鸟一枚,若文中有任何错误,请大家不吝指正。
由于本人手头使用的是大名鼎鼎的W.RichardStevens先生的UNP(其实就是UnixNetwork Programing这本书了,这里纯装逼,请无视^_^)。W.RichardStevens先生是计算机网络界当之无愧的大牛,可惜英年早逝,他的去世可谓计算机界的大损失。若有兴趣,请大家百度之吧。在这里再次向作者致敬。
再次声明,若本文能对读者有一定作用,那就是对我的最大感谢了。
以上都是废话,若无兴趣请无视之。
正文开始:
1.搭建环境需要下载unpv13e.tar.gz文件(标题处已经给出了链接),利用cd指令定位到你所下载的文件目录,利用tar指令将文档解压。
具体指令如下:
cd下载文件所在的目录
tar-zxvf unpv13e.tar.gz
2.进入解压后的名为unpv13e文件夹,并配置文件,检查软件环境。
具体指令如下:
cd unpv13e
./configure
说明:上面指令中./意味着执行当前目录的shell,其原因是由于PATH中并没有执行当前shell的路径,所以为了执行这个shell就必须加入./符号,以表示执行当前目录下一个叫做configure的shell。
3.生成静态库文件libunp.a
具体步骤及指令如下:
cd lib #跳转到unpv13e下的lib文件夹
make
cd ../libfree #跳转到unpv13e下的libfree文件夹
make
4.将生成的静态库文件libunp.a放入系统库中。
cd ../ #跳转到上一级目录
sudo cp libunp.a /usr/lib #此处使用sudo是由于将文件写入时需要权限
5将unp.h其和config.h拷贝到/usr/include中
//很多人都在此处修改过unp.h但是我安装的时候打开文件看过,好像并不需要修改
sudo cp lib/unp.h /usr/include
sudo cp config.h /usr/include
然后我们可以实验一下定位到相关文件夹下面:
在命令 shell中输入:
gcc daytimetcpcli.c -o daytimetcpcli -lunp
gcc daytimetcpserv.c -o daytimetcpserv -lunp
然后分别先后运行服务器和客户机程序即可。
声明:由于本人也是新手,希望能把自己学到的一点东西分享给大家,因此本文有什么不妥之处,希望大家不吝指正