Unix网络编程第一卷(第三版) 第一个程序运行成功

在学习unpv13e时遇到了首个程序运行的问题,通过配置、编译和修改源代码解决了问题。详细步骤包括:从官网下载源代码,解压缩,使用./configure,cd到lib目录并make,然后解决libfree目录下make的问题,修改inet_ntop.c文件。将所需库文件和头文件复制到相应位置,并根据书中的指导分别编译服务器和客户端程序。
摘要由CSDN通过智能技术生成

最近开始看unpv1了,可是在第一个程序的运行上出现了不少问题,但是终究还是解决了,在此记录一下,以方便日后查找!

首先,到http://www.unpbook.com/src.html,下载源代码unpv13e.tar.gz,然后 解压缩。在进入解压后的文件中,有一个README 文件,具体内容见附录。

第一步 ./configure没问题

第二步 cd lib; make 有没问题

第三步 cd ../libfree make  有问题,具体时修改了inet_ntop.c第61行 size_t size ->改成 socklen_t size,参考:http://www.myexception.cn/program/921531.html

其实,就运行第一个程序而言,这几步也够了,之后我们把libunp.a和unp.h 以及config.h拷贝到当前文件所在目录,然后把unp.h中的../config.h修改未config.h即可。

cp libunp.a  ../unp/

cp lib/unp.h ../unp/

cp libunp.a  ../unp/


另外,其实第一个程序事实上有两个程序的,书上的第一程序,其实时客户端程序,而书上第12页那个程序时服务器程序,先把服务器程序编译,然后运行(sudo ./srv),

接着把客户程序编译,然后运行即可。参考:http://blog.csdn.net/zxremail/article/details/4858714

客户程序:

#include "unp.h"

int main(int argc, char **argv)
{
	int			sockfd, n;
	char		recvline[MAXLINE + 1];
	struct sockaddr_in servaddr;

	if (argc != 2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值