📄 server.cpp
字号:
#include"Winsock.h"
#include"Windows.h"
#include"stdio.h"
#pragma comment(lib,"wsock32.lib")
#define RECV_PORT 2000
#define SEND_PORT 3000
SOCKET sock,sock1;
SOCKADDR_IN ServerAddr;
SOCKADDR_IN ClientAddr;
int Addrlen;
DWORD StartSock()
{
WSADATA WSAData;
if(WSAStartup(MAKEWORD(2,2),&WSAData)!=0) //初始化套接字
{
printf("sock init fail!\n");
return(-1);
}
return(1);
}
DWORD CreateSocket()
{
sock=socket(AF_INET,SOCK_STREAM,0); //创建套接字
if(sock==SOCKET_ERROR)
{
printf("sock create fail!\n");
WSACleanup();
return(-1);
}
ServerAddr.sin_family=AF_INET; //填充服务器地址及端口号
ServerAddr.sin_addr.s_addr=htonl(INADDR_ANY);
ServerAddr.sin_port=htons(RECV_PORT);
if(bind(sock,(struct sockaddr FAR *)&ServerAddr,sizeof(ServerAddr))==SOCKET_ERROR)
{
printf("bind is the error");
return(-1);
}
return(1);
}
DWORD ConnectProcess()
{
char buff[80];
Addrlen=sizeof(sockaddr_in);
if(listen(sock,5)<0)
{
printf("listen error");
return(-1);
}
printf("listening...\n");
for(;;)
{
sock1=accept(sock,(struct sockaddr FAR *)&ClientAddr,&Addrlen);
// int alen = sizeof(ServerAddr);
if(getpeername(sock1, (struct sockaddr *)&ClientAddr, &Addrlen )==0)
{
printf("对方IP:%s",inet_ntoa(ClientAddr.sin_addr));
}
for(;;)
{
memset(buff,0,80);
if(recv(sock1,buff,80,0)<=0)
{
break;
}
printf(buff);
printf("\n");
}
}
}
int main()
{
if(StartSock()==-1)
return(-1);
if(CreateSocket()==-1)
return(-1);
if(ConnectProcess()==-1)
return(-1);
return(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -