程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> socket-unix網絡編程環境怎麼配置?我買了套接字聯網api和tcp/ip詳解,但是書上的代碼都不能運行.

socket-unix網絡編程環境怎麼配置?我買了套接字聯網api和tcp/ip詳解,但是書上的代碼都不能運行.

編輯:編程綜合問答
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);

}

最佳回答:


unp頭文件不是系統自帶的。是作者自己封裝的。所以你找不到。你可以參考網上其他socket例子。一般只用了規范的頭文件。基本都能編譯通過。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved