4,356
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <stdlib.h>
#include <WinSock2.h>
#define MAXSIZE 1024*2
#pragma comment(lib,"Ws2_32.lib")
int main()
{
WSADATA wsaData;
if (WSAStartup(MAKEWORD(2,2),&wsaData)!= 0)
{
printf("start error");
}
int len;
SOCKADDR_IN serv_addr;
SOCKADDR_IN l_addr;
char recvmsg[MAXSIZE];
SOCKET sServer,AcceptSocket;
sServer = socket(PF_INET, SOCK_STREAM, 0);
if (sServer < 0) {
printf("socket error");
return -1;
}
memset(&serv_addr,0,sizeof(serv_addr));
serv_addr.sin_family = AF_INET;
serv_addr.sin_port = htons(2016);
serv_addr.sin_addr.s_addr =htonl(INADDR_ANY);
if(bind(sServer, (SOCKADDR *)&serv_addr, sizeof(serv_addr))<0)
{
printf("bind err");
return -1;
}
if(listen(sServer,5)==SOCKET_ERROR)
{
printf("Listen error!\n");
return -1;
}
memset(&l_addr,0,sizeof(l_addr));
AcceptSocket = accept(sServer,(SOCKADDR*)&l_addr,&len);
while (1) {
if(AcceptSocket >= 0 && AcceptSocket !=SOCKET_ERROR)
{
printf("Now the link has been connected.\n");
memset(recvmsg, 0, MAXSIZE);
SYSTEMTIME sys;
GetLocalTime(&sys);
sprintf(recvmsg,"%4d%02d%02d-%02d%02d%02d",sys.wYear,sys.wMonth,sys.wDay,sys.wHour,sys.wMinute,sys.wSecond);
if (!send(AcceptSocket,recvmsg,sizeof(recvmsg),0))
{
printf("send err!\n");
break;
}
}
else
{
printf("accept error!\n");
continue;
}
Sleep(40);
}
closesocket(sServer);
WSACleanup();
return 0;
}