18,356
社区成员
发帖
与我相关
我的任务
分享
#pragma comment(linker, "/subsystem:console ")
#include <WinSock.h>
#pragma comment(lib, "WSock32.Lib")
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include "passive_sever.c"
#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 = "5555";
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;
}
}
#pragma comment(linker, "/subsystem:console ")
#include <WinSock.h>
#pragma comment(lib, "WSock32.Lib")
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include "passive_sever.c"
#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 = "5555";
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;
}
}