用TServerSocket接收数据怎么老是报10035的连接错误
服务端:
void __fastcall TForm1::svrAccept(TObject *Sender,
TCustomWinSocket *Socket)
{
mmo1->Lines->Add("from IP:"+Socket->RemoteAddress+" port: "+Socket->RemotePort);
if((fp=fopen("d:\\333","rb"))==NULL)
{
ShowMessage("open file d:\\333 error");
return;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::svrClientRead(TObject *Sender,
TCustomWinSocket *Socket)
{
int szBuff[4096];
int ret=0;
int nCount=0;
while(1)
{
ret=Socket->ReceiveBuf(szBuff,4096);
if(ret==0)
break;
else if(ret==SOCKET_ERROR)
{
ShowMessage(WSAGetLastError());
break;
}
fwrite(szBuff,4096,1,fp);
nCount++;
}
ShowMessage(nCount++);
fclose(fp);
}
客户端:
void __fastcall TForm1::btn1Click(TObject *Sender)
{
FILE* fp;
char* szFileName;
int szBuff[4096];
int nCount=0;
if(dlgOpen1->Execute())
{
szFileName=dlgOpen1->FileName.c_str();
}
if((fp=fopen(szFileName,"rb"))==NULL)
{
ShowMessage("Open File "+AnsiString(szFileName)+" error!");
exit(1);
}
while(!feof(fp))
{
fread(szBuff,4096,1,fp);
cli->Socket->SendBuf(szBuff,4096);
nCount++;
}
ShowMessage(nCount);
fclose(fp);
}