alexsendar
2015-08-01 13:12
采纳率: 80%
浏览 1.6k
已采纳

unix网络编程环境怎么配置?我买了套接字联网api和tcp/ip详解,但是书上的代码都不能运行.

就下面这个代码,运行提示没有unp.h,找了个unp.h,但是还是提示什么各种数据类型重复定义.我到现在觉得是不是这本书写错了.
#include "unp.h"

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

if (argc != 2)
    err_quit("usage: a.out <IPaddress>");

if ( (sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0)
    err_sys("socket error");

bzero(&servaddr, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_port   = htons(13);    /* daytime server */
if (inet_pton(AF_INET, argv[1], &servaddr.sin_addr) <= 0)
    err_quit("inet_pton error for %s", argv[1]);

if (connect(sockfd, (SA *) &servaddr, sizeof(servaddr)) < 0)
    err_sys("connect error");

while ( (n = read(sockfd, recvline, MAXLINE)) > 0) {
    recvline[n] = 0;    /* null terminate */
    if (fputs(recvline, stdout) == EOF)
        err_sys("fputs error");
}
if (n < 0)
    err_sys("read error");

exit(0);

}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • oyljerry 2015-08-02 00:10
    已采纳

    unp头文件不是系统自带的。是作者自己封装的。所以你找不到。你可以参考网上其他socket例子。一般只用了规范的头文件。基本都能编译通过。

    点赞 打赏 评论
  • Ann_day 2015-08-01 13:54

    你看书肯定不仔细,unp.h 这个肯定在前面封装过, 你好好找找,不过你也可以在,看程序中用到那个函数直接包含也行

    点赞 打赏 评论
  • blownewbee 2015-08-01 14:39

    你买的书不行。估计作者胡乱写了一些代码,本身也没打算可以运行。如果作者有诚意,应该提供完整代码的文件,包括下载或者光盘,并且包含make文件,编译代码的指示,环境等信息。

    点赞 打赏 评论
  • shit2011han 2015-08-01 15:31

    附录或者网上down一下,这个头文件很好搜的,学习时要多用搜索引擎

    点赞 打赏 评论

相关推荐 更多相似问题