socket connect error????
timeclient.c
#include<stdio.h> #include<stdlib.h> #include<strings.h> #include<netinet/in.h> #include<arpa/inet.h> #include<sys/types.h> //#include<sys/inet.h> #include<sys/socket.h> #include<unistd.h> #define MAXLINE 4096 int main(int argc,char **argv) { int sockfd,n; struct sockaddr_in servaddr; char buff[MAXLINE+1]; if((sockfd=socket(AF_INET,SOCK_STREAM,0))<0) { printf("SOCKET ERROR!n"); exit(1); } // printf("ssas"); bzero(&servaddr,sizeof(servaddr)); servaddr.sin_family=AF_INET; servaddr.sin_port=htons(3562); if(inet_pton(AF_INET,argv[1],&servaddr.sin_addr)<=0) { printf("INET ERROR!n"); exit(1); } if(connect(sockfd,(struct sockaddr *)&servaddr,sizeof(servaddr))<0) { printf("Connect error!n"); exit(0); } while((n=read(sockfd,buff,MAXLINE))>0) { buff[n]=''; fputs(buff,stdout); // printf("%s",buff); } // printf("n=%dn",n); printf("AAAn"); exit(1); }
timeserver.c
#include<stdio.h> #include<string.h> #include<time.h> #include<stdlib.h> #include<netinet/in.h> #include<sys/socket.h> #include<strings.h> #include<arpa/inet.h> #include<sys/types.h> #define MAXLINE 4096 int main(int argc,char **argv) { int sockfd,listenfd; struct sockaddr_in servaddr; char buff[MAXLINE+1]; if((listenfd=socket(AF_INET,SOCK_STREAM,0))<0) { printf("SCOKET ERROR!n"); exit(0); } bzero(&servaddr,sizeof(servaddr)); servaddr.sin_family=AF_INET; servaddr.sin_port=htons(3562); servaddr.sin_addr.s_addr=htonl(INADDR_ANY); if(bind(listenfd,(struct sockaddr *)&servaddr,sizeof(servaddr))<0) { printf("BIND ERROR!n"); exit(1); } listen(listenfd,10); printf("starting listening.....n"); while(1) { // if((sockfd=accept(listenfd,(struct sockaddr *)NULL,NULL))>=0) // { // printf("Client connected!!!n"); // } sockfd=accept(listenfd,(struct sockaddr *)NULL,NULL); time_t ticks=time(NULL); snprintf(buff,sizeof(buff),"%.24srn",ctime(&ticks)); write(sockfd,buff,strlen(buff)); printf("%s",buff); close(sockfd); } exit(1); }
./timeclient 127.0.0.1
Connect error why??
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你要先运行服务端程序
然后再运行客户端
sudo netstat -lpnt