请问下边main函数中的2个参数 int argc, char* argv[]) 是什么意思?
请问他们的参数值是谁传给他们的?
int main(int argc, char* argv[])
{
int sockSvr;
int sockCnt;
sockaddr_in addrSvr={0};
int iRet;
int nSvrPort=1234;
char szFileName[256];
char szBuf[256];
FILE *pFile=NULL;
//
InitSocketLib();
sockSvr=-1;
sockCnt=-1;
if(argc>1)
nSvrPort=atoi(argv[1]);
while(true)
{
sockSvr=socket(AF_INET,SOCK_STREAM,0);
addrSvr.sin_family=AF_INET;
addrSvr.sin_port=htons(nSvrPort);
addrSvr.sin_addr.s_addr=htonl(INADDR_ANY);
if(bind(sockSvr,(sockaddr *)&addrSvr,sizeof(addrSvr))==-1)
{
printf("bind error:%d\n",WSAGetLastError());
break;
}
listen(sockSvr,SOMAXCONN);
sockCnt=accept(sockSvr,NULL,NULL);
RecvLine(sockCnt,szFileName,sizeof(szFileName));
pFile=fopen(szFileName,"rb");
if(pFile==NULL)
{
printf("open file fail:%d\n",GetLastError());
break;
}
while(true)
{
iRet=fread(szBuf,1,sizeof(szBuf),pFile);
if(iRet<1)
break;
if(iRet!=send(sockCnt,szBuf,iRet,0))
{
printf("send fail:%d\n",WSAGetLastError());
break;
}
}
break;
}
if(pFile!=NULL)
fclose(pFile);
if(sockCnt!=-1)
{
shutdown(sockCnt,SD_BOTH);
closesocket(sockCnt);
}
if(sockSvr!=-1)
closesocket(sockSvr);
return 0;
}