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

网络编程(tcp),对服务器端口的转换htons(server_port); 到底对不对?请帮忙看看

    来源: 互联网  发布时间:2015-12-07

    本文导语:  部分代码如下: server_port=8000; bzero(&server_addr,sizeof(server_addr));   server_addr.sin_family=AF_INET;     server_addr.sin_addr.s_addr = inet_addr(host_name);    server_addr.sin_port=htons(server_port);     printf("nserver ip= %s ,port = %d", inet_ntoa(server_add...


部分代码如下:
server_port=8000;
bzero(&server_addr,sizeof(server_addr));
  server_addr.sin_family=AF_INET;  
  server_addr.sin_addr.s_addr = inet_addr(host_name); 
  server_addr.sin_port=htons(server_port);  

  printf("nserver ip= %s ,port = %d", inet_ntoa(server_addr.sin_addr),server_addr.sin_port);
------------
打印出的port = 16415;(怎么不是8000啊?IP是对的),往下执行connect()也就失败了。

|
可以这样填充sockaddr结构:
    memset(&localaddr, 0, sizeof(localaddr));
    if(! inet_aton(sListenIPAddr, &(localaddr.sin_addr)))
    {
        perror("inet_aton");
        exit(0);
    }
    localaddr.sin_family = AF_INET;
    localaddr.sin_port = htons(static_cast (nListenPort));

|
网络字节序和很多主机字节序不同,所以需要用htons或者htonl来更改字节序

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • IOS开发之socket网络编程(基于SimpleNetworkStreams的c/s程序)
  • 用java做网络编程和用c做网络编程有啥区别
  • andriod下java socket网络编程:java socket客户端服务端代码示例
  • 嵌入式网络编程与非嵌入式网络编程有什么不同
  • 《UNIX网络编程》这本书适合linux下的网络编程吗?
  • 读过 Unix网络编程 或者 熟知Unix网络编程的 的进来看一下
  • 请问unix网络编程和linux网络有什么区别
  • UNIX网络编程卷1
  • 高分求网络编程方面的书籍
  • 求助:linux/unix网络编程
  • 新手请教,linux网络编程。
  • linux环境进行网络编程的教材
  • Unix/Linux网络编程怎样来做一个项目?
  • 关于文件操作和Socket网络编程!
  • linux下网络编程环境配置问题
  • java的网络编程
  • 网络编程中“多宿”是什么意思
  • 谁知道哪有《Unix网络编程》w.richard stevens 著的下载?
  • 菜鸟问题:请问要在Linux操作系统下完成TCP/IP网络编程,用什么编程工具好?
  • 请推荐几本Linux/Unix网络编程的好书吧
  • 求介绍linux下的网络编程书


  • 站内导航:


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

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

    浙ICP备11055608号-3