我的程序阻塞了,不知道原因。
一个搜索文件并传输文件的客户端程序。
下面是伪代码:
//建立与远程的连接
sfzSock = socket(AF_INET,SOCK_STREAM,0);
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = inet_addr(sfzip);
addr.sin_port = htons(9876);
int ret = connect(sfzSock,(sockaddr*)&addr,sizeof(addr));
if(ret != 0){
AppLog("连接失败!");
}
else{
const int ms = 60000;
setsockopt(sfzSock,SOL_SOCKET,SO_RCVTIMEO,(char *)&ms,sizeof(ms));
}
CFileFind find;
BOOL bWorking = finder.FindFile("*.*");//特定目录下的所有文件
while (bWorking)
{
bWorking = finder.FindNextFile();
//发送搜索到的文件
send(...);
//接收远程返回的应答
recv(...);
}