- 论坛徽章:
- 0
|
各位高手,谢谢帮助!
我在sco下用cc -o client myclient.c -lsocket编译出错!
错误信息是:
undefined first referenced
symbol in file
sock myclient.o
ld fatal: Symbol referencing errors. No output written to client
源文件:
#include <stdio.h>;
#include <strings.h>;
#include <sys/types.h>;
#include <sys/socket.h>;
#include <unistd.h>;
#include <stdlib.h>;
#include <netdb.h>;
#include <netinet/in.h>;
#include <errno.h>;
#define PORT 1234
#define MAXDATASIZE 100
int main(int argc,char *argv[])
{
int fd,numbytes;
char buf[MAXDATASIZE];
struct hostent *he;
struct sockaddr_in server;
if (argc!=2)
{
printf("Usage:%s<IP Address>;\n",argv[0]);
exit(1);
}
if ((he=gethostbyname(argv[1]))==NULL)
{
printf("gethostbyname error\n"
exit(1);
}
if ((fd=sock(AF_INET,SOCK_STREAM,0))==-1)
{
printf("socket error\n"
exit(1);
}
memset(&server,0,sizeof(server));
server.sin_family = AF_INET;
server.sin_port=htons(PORT);
server.sin_addr=*((struct in_addr *)he->;h_addr);
if (connect(fd,(struct sockaddr *)&server,sizeof(struct sockaddr))==-1)
{
printf("connect() error\n"
exit(1);
}
if ((numbytes=recv(fd,buf,MAXDATASIZE,0))==-1)
{
printf("recv() error\n"
exit(1);
}
buf[numbytes]='\0';
printf("server message:%s\n",buf);
close(fd);
} |
|