CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

高分!SCO下编译器的问题。

楼主tiantang(潇湘夜雨)2002-03-06 13:24:32 在 C/C++ / C语言 提问

我找一个关于socket例子,我的软件环境为SCO   OpenServer   5.0.5,为什么这个程序在链接的时候总是报错?  
  #   cc   -lsocket   -o   server   server.c  
  undefined                                               first   referenced  
    symbol                                                           in   file  
  socket                                                             server.o  
  htons                                                               server.o  
  bind                                                                 server.o  
  listen                                                             server.o  
  accept                                                             server.o  
  inet_ntoa                                                       server.o  
  send                                                                 server.o  
  i386ld   fatal:   Symbol   referencing   errors.   No   output   written   to   server  
  #        
   
   
  源程序:  
   
  #include     <netdb.h>  
  #include     <stdlib.h>  
  #include     <stdio.h>  
  #include     <sys/socket.h>  
  #include     <netinet/in.h>  
  #include     <arpa/inet.h>  
  #define   SERVPORT   3333   /*服务器监听端口号   */    
  #define   BACKLOG   10   /*   最大同时连接请求数   */    
  main()    
  {    
  int   sockfd,client_fd;   /*sock_fd:监听socket;client_fd:数据传输socket   */    
   struct   sockaddr_in   my_addr;   /*   本机地址信息   */    
   struct   sockaddr_in   remote_addr;   /*   客户端地址信息   */    
  if   ((sockfd   =   socket(AF_INET,   SOCK_STREAM,   0))   ==   -1)   {    
    perror("socket创建出错!");   exit(1);    
  }    
  my_addr.sin_family=AF_INET;    
   my_addr.sin_port=htons(SERVPORT);    
   my_addr.sin_addr.s_addr   =   INADDR_ANY;    
  bzero(&(my_addr.sin_zero),8);    
   if   (bind(sockfd,   (struct   sockaddr   *)&my_addr,   sizeof(struct   sockaddr))==   -1)   {    
  perror("bind出错!");    
  exit(1);    
  }    
   if   (listen(sockfd,   BACKLOG)   ==   -1)   {    
  perror("listen出错!");    
  exit(1);    
  }    
  while(1)   {    
    sin_size   =   sizeof(struct   sockaddr_in);    
    if   ((client_fd   =   accept(sockfd,   (struct   sockaddr   *)&remote_addr,      
    &sin_size))   ==   -1)   {    
  perror("accept出错");    
  continue;    
  }    
    printf("received   a   connection   from   %sn",   inet_ntoa(remote_addr.sin_addr));    
      if   (!fork())   {   /*   子进程代码段   */    
       if   (send(client_fd,   "Hello,   you   are   connected!n",   26,   0)   ==   -1)    
       perror("send出错!");    
  close(client_fd);    
  exit(0);    
  }    
    close(client_fd);    
    }        
  } 问题点数:100、回复次数:6Top

1 楼solar(天哪,忘了我是什么时候注册的了!)(int argc, char *argv[])回复于 2002-03-06 13:41:24 得分 0

cc     -lsocket     -l   nsl   -o     server     server.cTop

2 楼tiantang(潇湘夜雨)回复于 2002-03-06 16:41:47 得分 0

不行啊,还是同样的错误啊?难道是那里设置的不对吗?Top

3 楼tiantang(潇湘夜雨)回复于 2002-03-07 09:07:05 得分 0

人都去哪里了?Top

4 楼Sachow(SC)回复于 2002-03-07 09:08:25 得分 100

cc   server.c   -o   server   -lsocketTop

5 楼tiantang(潇湘夜雨)回复于 2002-03-07 13:37:29 得分 0

多谢Sachow(SC),问题已经解决,能告诉我为什么吗?难道还和参数的顺序有关?Top

6 楼Sachow(SC)回复于 2002-03-07 15:05:24 得分 0

对。Top

相关问题

  • 高分,关于编译器.
  • 高分寻求解答奇怪的VC编译器问题!!!
  • ★◎ 高分悬赏 ◎★ TC++3.0编译器如何安装??
  • 高分求sun公司IDL-to-Java的编译器
  • 60分求casl编译器!
  • lcc是c编译器还是c++编译器(给分)
  • /* 不要告诉我又是编译器!!!散分问问题,高手进来!!! */
  • 高分求一个现在常用的JAVA编译器及运行平台。
  • 送分!编译器的源代码!
  • ◎==100分:有关编译器的问题?==◎

关键词

  • client
  • socket
  • server
  • 出错
  • addr
  • sockfd
  • sin
  • perror
  • struct sockaddr
  • fd

得分解答快速导航

  • 帖主:tiantang
  • Sachow

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo