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

socket编程--htons

    来源: 互联网  发布时间:2016-04-09

    本文导语:  socket编程--htons: 请看下面两行关于创建socket的语句,这两句都是从正确的程序上取下来的,因此应该没有错。 这是man里边关于socket的语法:int socket(int domain, int type, int protocol); 问题是:为什么下面的第一个要用htons,而第...

socket编程--htons:

请看下面两行关于创建socket的语句,这两句都是从正确的程序上取下来的,因此应该没有错。
这是man里边关于socket的语法:int socket(int domain, int type, int protocol);
问题是:为什么下面的第一个要用htons,而第二个不用?

sockfd = socket(PF_PACKET, SOCK_DGRAM, htons(ETH_P_ALL));

sockfd=socket(AF_INET,SOCK_RAW,IPPROTO_ICMP);

|
看了一下,是需要增加htons,原因是ETH_P_ALL等宏定义的值被直接用来匹配以太网帧里的类型字段,所以要转换为网络序。而IPPROTO_ICMP是一个协议栈内部使用的值,不作为判断IP报文是否是ICMP报文的依据,所以不需要转换。

    
 
 

您可能感兴趣的文章:

  • andriod下java socket网络编程:java socket客户端服务端代码示例
  • 大家帮忙推荐一本linux socket编程的入门书,我刚接触socket,谢谢!!
  • IOS开发之socket网络编程(基于SimpleNetworkStreams的c/s程序)
  • re socket编程中 ACCEPT返回的socket与原socket(他参数中的)端口号一样吗?
  • C++ Socket 库 C++ Sockets iis7站长之家
  • socket 编程时,write的写入的数据大于socket缓冲区,会有什么结果??
  • Linux下使用openssl api编程socket编程,为什么要编译啊?
  • 关于文件操作和Socket网络编程!
  • linux下socket编程问题!
  • socket编程 中的bind问题
  • 急!!请教关于linux socket编程的一个问题!!
  • 急!关于SOCKET编程,在线等待!
  • socket编程 通过man socket, 没有找到socket函数的第一参数该填什么 怎样利用man手册
  • 多进程socket编程问题
  • 问一个socket编程问题,急~~~
  • 求教!为何在socket编程中调recv函数无法阻塞?
  • 请教一个socket编程问题
  • 求助!!linux下socket编程
  • socket编程,使用recvfrom()函数监听问题。
  • sco unix下socket编程的问题,请大家帮忙
  • socket编程中的问题,请各位大侠指教!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.net类socket的类成员方法: socket定义及介绍
  • libevent2需要从socket读一段数据写入一个socket中,同时发送给另一个socket
  • java命名空间java.nio.channels类socketchannel的类成员方法: socket定义及介绍
  • socket 通讯开发包 Simple Sockets
  • java命名空间java.nio.channels类serversocketchannel的类成员方法: socket定义及介绍
  • C++ Socket 库 C++ Sockets
  • java命名空间java.nio.channels类datagramchannel的类成员方法: socket定义及介绍
  • vc做的的socket应用和unix下socket?
  • java命名空间java.net类socket的类成员方法: getsendbuffersize定义及介绍
  • QSocketDevice ( int socket, Type type )中那个 int socket 是哪里来得?
  • java命名空间java.net类socket的类成员方法: getreceivebuffersize定义及介绍
  • 线程间可否通过管道传递SOCKET句柄?还有其他方式传递SOCKET么?
  • java命名空间java.net类socket的类成员方法: gettrafficclass定义及介绍
  • [FreeBSD] 大神,求解,control socket : can‘t to any socket
  • java命名空间java.net类socket的类成员方法: getport定义及介绍
  • 两个 Socket 互相通信,其中一个如何判断另一个 Socket 是否已经意外断开了连接?
  • java命名空间java.net类socket的类成员方法: getlocalport定义及介绍
  • 我的ping程序怎么老是出现Socket operation on non-socket
  • java命名空间java.net类socket的类成员方法: getinetaddress定义及介绍
  • sco unix 下输入 man socket 居然显示 man:socket not found up有分
  • java命名空间java.net类socket的类成员方法: isconnected定义及介绍
  • 爲何這樣?variable socket might not have been initialized --socket.close()


  • 站内导航:


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

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

    浙ICP备11055608号-3