server.cpp
来自「一个基于windows api 的源程序...有很强的参考价值」· C++ 代码 · 共 70 行
CPP
70 行
#include <winsock.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include "passive_server.C"
#pragma comment(lib,"wsock32")
#define QLEN 5
#define BUFSIZE 2048
#define WAVERS MAKEWORD(2,0)
SOCKET TCPserver(const char *service,int qlen);
void main(int argc,char *argv[])
{
char *service = "3333";
struct sockaddr_in fsin;
SOCKET msock,ssock;
WSADATA wsadata;
int alen,cc;
char buf[BUFSIZE];
switch(argc)
{
case 1:
break;
case 2:
service=argv[1];
break;
default:
printf("argment error\n");
exit(1);
}
if(WSAStartup(WAVERS,&wsadata)!=0)
{
printf("initalize failed\n");
WSACleanup();
exit(1);
}
msock=TCPserver(service,QLEN);
while(1){
alen=sizeof(struct sockaddr);
ssock=accept(msock,(struct sockaddr *)&fsin,&alen);
if(ssock==INVALID_SOCKET)
{
printf("initalize failed\n");
WSACleanup();
exit(1);
}
buf[0]='\n';
while( cc=recv(ssock,buf,sizeof(buf)-1,0) ){
buf[cc]='\0';
printf("%s",buf);
}
printf("connect close... ");
closesocket(ssock);
break;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?