Socket编程获取服务器时间 (二)

2014-11-24 02:46:58 · 作者: · 浏览: 3
sizeof(servaddr));//将地址和端口绑定到socket
if(bindfd<0)
{
cout<<"bind error"< exit(0);
}
listen(listenfd,MAXLINE);//监听连接,一直阻塞,直到有连接出现
while(1)
{
connfd=accept(listenfd,(sockaddr*)NULL,NULL);//接收连接传递的数据
ticks=time(NULL);
snprintf(buff,sizeof(buff),"%.24s\r\n",ctime(&ticks));
cout< write(connfd,buff,strlen(buff));//将传递的数据写回到socket中
close(connfd);
}
return 0;
}

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;

const int MAXLINE=1024;
int main(int argc,char **argv)

{
int listenfd,connfd;
struct sockaddr_in servaddr;
char buff[MAXLINE];
time_t ticks;
listenfd=socket(AF_INET,SOCK_STREAM,0);//建立socket
if(listenfd<0)
{
cout<<"socket error "< exit(0);
}
memset(&servaddr,0, sizeof(servaddr));
servaddr.sin_family=AF_INET;
servaddr.sin_port=htons(8080);
servaddr.sin_addr.s_addr=htonl(INADDR_ANY);
int bindfd=bind(listenfd,(sockaddr*)&servaddr,sizeof(servaddr));//将地址和端口绑定到socket
if(bindfd<0)
{
cout<<"bind error"< exit(0);
}
listen(listenfd,MAXLINE);//监听连接,一直阻塞,直到有连接出现
while(1)
{
connfd=accept(listenfd,(sockaddr*)NULL,NULL);//接收连接传递的数据
ticks=time(NULL);
snprintf(buff,sizeof(buff),"%.24s\r\n",ctime(&ticks));
cout< write(connfd,buff,strlen(buff));//将传递的数据写回到socket中
close(connfd);
}
return 0;
}