最近开始看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