UNIX网络编程之一:代码环境搭建
来源:互联网 发布:mac怎么剪切文件夹 编辑:程序博客网 时间:2024/05/29 03:26
本文全部转自:https://zcheng.ren 内部文章。
这一路有很多大神,希望自己这学期能够看完《UNIX网络编程卷一:套接字联网API》,这个博客全文转自那个博主的,只是对其中出错地方进行补充说明,实测成功。
一、源代码的下载和编译
源代码下载地址:http://www.unpbook.com/ , 下载下来得到unpv13e.tar.gz文件
编译步骤:
解压缩zxvf unpv13e.tar.gz
tar zxvf unpv13e.tar.gz
进入unpv13e文件夹中
cd ./unpv13e./configure //如果权限不够可以chmod改权限
编译lib文件
cd libmake //出现大量warning,忽略之cd ../libfreemake //若出现错误,看后面横线内解决办法。无则跳过
错误如下:
inet_ntop.c: In function ‘inet_ntop’:
inet_ntop.c:60:9: error: argument ‘size’ doesn’t match prototype
size_t size;
此时在libfree目录下,修改
vim inet_ntop.c //将第60行的 size_t size 改成 socklen_t size;
重新make即修复错误。
继续执行下面命令:
cd ../libgaimake
二、环境搭建
修改unp.h , 将#include “../config.h”修改为 #include “config.h”,如下:
cd .. //回到主目录sudo vim lib/unp.h
继续,拷贝头文件到include
sudo cp config.h /usr/local/includesudo cp lib/unp.h /usr/local/include
拷贝库文件
sudo cp libunp.a /usr/local/lib
到此,unix网络编程一书上的代码都可以编译了。
三、示例代码测试
以示例intro/daytimetcpcli.c为例:
编译daytimetcpcli.c文件
cd ./intro gcc daytimetcpcli.c -o daytimetcpcli -lunp
运行
./daytimetcpcli 127.0.0.1
测试的时候会出现如下错误
connect error:Connection refused
在ubuntu系统下需要开启daytime,可通过xinetd来实现对服务连接请求的控制。
没有xinetd.d,需要安装
sudo apt-get install xinetd
然后编辑daytime
vim daytime
将文件中的两个disable后面的yes改成no,保存退出
重启xinted.d
service xinetd restart
再次测试daytimetcpcli例子,
./daytimetcpcli 127.0.0.1
得到正确的结果
24 SEP 2017 17:35:47 CST
- UNIX网络编程之一:代码环境搭建
- Unix网络编程环境搭建
- Unix网络编程第三版中代码环境搭建
- Unix网络编程第三版中代码环境搭建
- unix网络编程 环境搭建 环境配置
- Unix网络编程—环境搭建
- unix网络编程环境搭建及使用方法
- Unix网络编程之环境搭建
- linux clion unix网络编程环境搭建
- unix网络编程源代码环境搭建
- Unix网络编程之一
- 《Unix NetWork Programming》(Unix网络编程)—环境搭建
- 【UNIX网络编程第三版】阅读笔记(一):代码环境搭建
- Unix网络编程(第三版) 代码环境搭建 unp.h的引入
- unix网络编程环境
- unix网络编程环境
- unix网络编程环境
- unix网络编程之一简述
- linux设备树编译器DTC
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 F. Overlapping Rectangles
- windows 7 下安装TensorFlow
- 《惊魂记》
- 机器学习深入与强化--回归分析与工程应用
- UNIX网络编程之一:代码环境搭建
- 2017 ACM-ICPC南宁网络赛: G. Finding the Radius for an Inserted Circle
- python里为什么需要使用装饰器(decorator)
- 迁移学习 transfer learning
- 从ViewRootImpl类分析View绘制的流程
- 4种OSS的应用架构及核心技术帮助
- 二叉树中和为某一值的路径
- VTK图形处理之剪裁
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 H. A Cache Simulator