socket connect error????

发布于 2021-11-19 23:37:09 字数 2412 浏览 808 评论 2

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

百思不得你姐 2021-11-20 11:23:49

你要先运行服务端程序

./timeserver

然后再运行客户端

./timeclient 127.0.0.1

 

梅窗月明清似水 2021-11-20 07:58:52

sudo netstat -lpnt

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文