当前位置:  技术问答>linux和unix

书上的代码,问两个问题,问题在注释里

    来源: 互联网  发布时间:2016-11-06

    本文导语:  /*  Start with the usual includes and declarations.  */ #include  #include  #include  #include  #include  int main(int argc, char *argv[]) {     char *host;     int sockfd;     int len, result;     struct sockaddr_in address;     struct hostent *hos...

/*  Start with the usual includes and declarations.  */

#include 
#include 
#include 
#include 
#include 

int main(int argc, char *argv[])
{
    char *host;
    int sockfd;
    int len, result;
    struct sockaddr_in address;
    struct hostent *hostinfo;
    struct servent *servinfo;
    char buffer[128];

    if(argc == 1)
        host = "localhost";
    else
        host = argv[1];

// (1)这里的 host 如果传参进来的话,是不是只能是 /etc/hosts 里有配置的值?

/*  Find the host address and report an error if none is found.  */

    hostinfo = gethostbyname(host);
    if(!hostinfo) {
        fprintf(stderr, "no host: %sn", host);
        exit(1);
    }

/*  Check that the daytime service exists on the host.  */


// (2) 这只能判断本机是否有 daytime  服务吧,不能判断 host 主机吧? 因为没有用到 host 参数
//  代码英文注释是不是有误?


    servinfo = getservbyname("daytime", "udp");
    if(!servinfo) {
        fprintf(stderr,"no daytime servicen");
        exit(1);
    }
    printf("daytime port is %dn", ntohs(servinfo -> s_port));

/*  Create a UDP socket.  */

    sockfd = socket(AF_INET, SOCK_DGRAM, 0);

/*  Construct the address for use with sendto/recvfrom...  */

    address.sin_family = AF_INET;
    address.sin_port = servinfo -> s_port;
    address.sin_addr = *(struct in_addr *)*hostinfo -> h_addr_list;
    len = sizeof(address);

    result = sendto(sockfd, buffer, 1, 0, (struct sockaddr *)&address, len);
    result = recvfrom(sockfd, buffer, sizeof(buffer), 0, (struct sockaddr *)&address, &len);
    buffer[result] = '';
    printf("read %d bytes: %s", result, buffer);

    close(sockfd);
    exit(0);
}


|
// (1)这里的 host 如果传参进来的话,是不是只能是 /etc/hosts 里有配置的值?
不是,任何域名或者主机名或者IP地址都可以。

// (2) 这只能判断本机是否有 daytime  服务吧,不能判断 host 主机吧? 因为没有用到 host 参数
这个我有同感。getservbyname这里没有用到任何主机的信息,他只是从本地的/etc/services读取包含"daytime"和"udp"的一行而已。

|
不是。

这个里的host指的是能在网络上被识别的host。

如果在局域网,可以是主机名。

当然还可以是域 例如:www.google.com.hk

    
 
 

您可能感兴趣的文章:

  • sh 里面ftp上传文件的代码。大侠帮忙看看下面的代码有什么问题
  • 用Jbuilder3 遇到问题不能运行把可疑代码注掉后可以运行但是重新使用可疑代码时又可以运行了多次重复都是如此
  • 关于软件或者程序的源代码问题??
  • firefox源代码问题
  • linux 源代码的学习问题
  • 关于源代码的问题
  • 菜鸟问题(源代码)
  • VIM的使用,代码缩进的问题
  • 关于Qt的demo中的控件代码问题
  • 求教:linux下代码编辑问题
  • fedora10 内核代码问题
  • X Window System 的源代码的问题
  • 在制作的留言簿上提交jsp的源代码的问题,
  • 代码实现Radius服务模拟的问题,熟悉Radius服务的大虾请进!
  • 请教一下调试GCC源代码问题
  • cvs 代码维护问题
  • 关于linux内核版本和源代码版本问题
  • 高深问题:有了linux内核源代码如何做成一个linux操作系统
  • 在Jbuilder中编辑代码的问题
  • 谁有“八女王”和“六匹马”问题的源代码,每个50分!!!!
  • 中文注释过的coreutils源代码
  • Visual Studio 代码注释工具 Atomineer
  • 谁给个C编写的完整的有注释的FTP源代码,我给300分
  • 我初学汇编,求一个简单的乘法代码,并且将结果输出到屏幕。最好将每条代码写上注释。
  • 如何读上万行的没有太多注释的Java源代码
  • php代码中的空白与注释怎么去除
  • 求代码 注释
  • c#删除代码中的单行注释行示例
  • php实现图形显示Ip地址的代码及注释
  • 我的JSP代码为什么去掉该行注释后就出错?
  • C#制作鹰眼的详细全过程(带注释)实例代码
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • c#截取字符串的代码(中文算两个字符)
  • 看代码时的两个问题
  • 获取两个日期间隔时间的shell脚本代码
  • c++ 连接两个字符串实现代码 实现类似strcat功能
  • java实现合并两个已经排序的列表实例代码
  • 用netlink进行用户态和内核态通信,想传两个整数进去,该如何操作,我只会发个字符串进去,求关键部位代码
  • 从网上载了个C++程序的源代码,包含38个.cpp和.h,还有makefile.in和makefile.am两个文件,但无configure和makefile.请问怎么编译?谢谢!
  • 交换两个文本内容的C语言代码
  • 50分!两个简单问题。.jsp文件中可以插入javascript代码吗?是否可以通过某框架中链接的target属性将.jsp文件在另一框架中显示?
  • jb写的一个javabean,编译说有两个错误,请大虾看代码
  • C#计算两个文件的相对目录算法的实例代码
  • 比较两个字符串是否相等的shell代码
  • C#计算两个时间差的方法代码分享
  • sqlserver 计算两个日期之间相差的工作天数的代码
  • js计算两个字符串时间的天数差的代码
  • 有两个JTextField,当在其中一个JTextField输入字符串时,另一个JTextField里也出现相同字符串,能给出代码吗,一定给分!!!
  • 两个子线程之间结束时相互影响了,极度困惑,忘哪位大哥解救,内有完整代码
  • 目前用到的两个分页存储过程代码
  • javascript 添加到收藏夹和书签代码示例
  • 在JBuilder中,为什么编写的代码中,当代码出现关键字时,后面的部分代码就移位了,当在有关键字的那些代码行进行选择时,也会出现鼠标位
  • Python GUI编程:tkinter实现一个窗口并居中代码
  • 为什么两行代码间不加入其他代码就崩溃,而加入了日志代码后就不崩溃?
  • JSP中清空cookie代码参考
  • 在ubuntu8.10 新立得中安装anjuta,为什么没有代码提示功能,怎么做才有,还有自动代码补全和代码提示有什么区别,
  • Python获取网页编码的方法及示例代码
  • 到底怎么样的代码算是有效代码?请教了。。
  • HTML网页中的html body onload自动跳转方法介绍及自动跳转代码示例
  • 如果要研究源代码以提高自己,哪一个开放源代码的软件比较合适?
  • php通过socket_bind()设置IP地址代码示例
  • linux源代码的时间函数源代码
  • boost库lexical_cast不同用法代码参考


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3