《Unix网络编程》环境搭建
Ubuntu《Unix网络编程》环境搭建
文章目录
- Ubuntu《Unix网络编程》环境搭建
- 下载文件
- 解压缩
- 按照README 依次执行
- 修改inet_ntop.c文件 后再次make
- 添加到共享库目录
- 修改unp.h
- 程序各文件相对位置
- case1:
- case 2:
- 编译执行
- 小问题
下载文件
为了方便获取,我上传到了github
git clone https://github.com/orangeQWJ/unpv13e.git
解压缩
tar -xzvf unpv13e/unpv13e.tar.gz
按照README 依次执行
cd unpv13e
./configure
cd lib
make
cd ../libfree
make #报错 error: argument 'size' doesn't match prototype size_t size:
修改inet_ntop.c文件 后再次make
将60行的 size_t size 改成 socklen_t size
添加到共享库目录
sudo cp libunp.a /usr/lib # libunp.a 文件位于unpv13e目录下
sudo cp libunp.a /usr/lib64/
修改unp.h
unp.h 位于unpv13e/lib/config.h 位于unpv13e/将unp.h中将#include "../config.h"改成#include "config.h" 这样以后将unp.h 和config.h 一起放在源代码同级目录下 便可在程序中调用
#include"unp.h"
在unp.h中添加一行: #define MAX_LINE 2048
程序各文件相对位置
case1:
不需要修改源代码
case 2:
c文件如下更改 #include "../unp.h" (c语言知识)
编译执行
gcc daytimetcpcli.c -o ONE -lunp # -lunp不能省略
./ONE 127.0.0.1
小问题
程序报错connet error: Connection refused需要打开本地服务器的daytime功能
sudo apt-get install xinetd
修改
sudo vim /etc/xinetd.d/daytime # 需要管理员权限
将两个disable 以后的yes 改成no
service xinetd restart #重启服务后运行程序即可
《Unix网络编程》环境搭建相关推荐
- Unix NetWork Programming——环境搭建(解决unp.h等源码编译问题)(转载)
原文地址:http://blog.csdn.net/a649518776/article/details/6724121 下面开始用简单但典型的客户端和服务器端程序说明如何进行网络编程.这一小节讲的是 ...
- 【UNIX网络编程第三版】阅读笔记(一):代码环境搭建
粗略的阅读过<TCP/IP详解>和<计算机网络(第五版)>后,开始啃这本<UNIX网络编程卷一:套接字联网API>,目前linux下的编程不算太了解,在阅读的过程中 ...
- UNIX网络编程之旅-配置unp.h头文件环境
最近在学习Unix网络编程(UNP),书中steven在处理网络编程时只用了一个#include "unp.h" 相当有个性并且也很便捷 于是我把第三版的源代码编译实现了这个过程 ...
- unix网络编程 的环境配置
<unix网络编程> 的环境配置 首先在网上下载UNP的库文件,然后就可以安装学了.我的系统环境: 2.6.32-131.0.15.el6.i686 #1 SMP Sat Nov 12 1 ...
- Unix网络编程之-------unp.h头文件详细配置-1
unix网络编程unp.h最详细全面配置说明 今天开始学习Unix网络编程这本大神之作了,由于之前在学习另外一本杰作Unix环境高级编程,遇到过第一个程序编译报错的情况,知道这是大神自己写的头文件在我 ...
- apue.3与unp在Linux上编程环境搭建
导读 在学习Unix高级环境编程与Unix网络编程的时候,按照作者的提示操作即可成功的编译运行这两本书提供的源代码,但是如果自己想想在自己的环境里按照书籍学习,也就是在自己的环境里调用作者封装的api ...
- 《Unix网络编程卷1-套接字联网API》第一个例子编译 不通过问题解决
<Unix网络编程卷1-套接字联网API>是本好书. 但是第一个例子不是很好编译. 需要如下步骤: 本人机器CentOS 5.4 1.下载源码 unpv13e解压到任意目录 然后按其rea ...
- 16.unix网络编程一卷 unp.h
unix网络编程 --ubuntu下建立编译环境 1.安装编译器,安装build-essential sudo apt-get install build-essential 2.下载本书的头文件 下 ...
- 【LINUX/UNIX网络编程】之使用消息队列,信号量和命名管道实现的多进程服务器(多人群聊系统)...
RT,使用消息队列,信号量和命名管道实现的多人群聊系统. 本学期Linux.unix网络编程的第三个作业. 先上实验要求: 实验三 多进程服务器 [实验目的] 1.熟练掌握进程的创建与终止方法: 2 ...
- linux下网络编程设置非阻塞,UNIX网络编程 非阻塞connect的实现
一.<UNIX网络编程>-非阻塞connect 在一个TCP套接口被设置为非阻塞之后调用connect,connect会立即返回EINPROGRESS错误,表示连接操作正在进行中,但是仍未 ...
最新文章
- Linux 驱动 Printk 在终端没有输出
- #在android studio中维护日程管理系统
- PyCharm 快捷操作
- hdu 1588 Gauss Fibonacci 较难
- php编程习惯,经验分享:PHP编程的5个良好习惯(二)
- 机器人学习--Mobile robotics 国外大牛及实验室
- 线性规划——规范型,标准型,基阵、基本解、基本可行解、基变量、非基变量.... 概念梳理
- “奔三”了,程序员,你该怎么选择未来的路?
- 五年级信息技术上册教案计算机主机探秘,第1课信息与信息技术探秘教案
- Qt工作笔记-WebEngineView调用web站点中的JS脚本(含Vue Cli脚本)
- ffmpeg (四):ffmpeg, ffplay, ffprobe用法
- mysql多条件顺序_mysql顺序由多个条件
- 无代码app在线制作网站:自己做app的制作方法
- docker安装mysql后无法执行mysql命令
- Linux部署k8s集群
- esxi怎么传输文件到虚拟机_软路由篇2:3865U软路由折腾记——Esxi软虚拟机+OpenWrt教程
- python机器学习:决策树详解
- ‘xxxx’ does not name a type报错处理方法
- 保卫农场(bfs)题解
- kubernetes存储:local,openEBS,rook ceph