谢谢我要做毕业设计,需要详细的解释,以及本段代码的特点解释
谢谢各位了
sprintf( g_szLocalAddr,"%s",GetLocalAddress() );
if ((sListen = WSASocket(AF_INET, SOCK_STREAM, 0, NULL, 0,
WSA_FLAG_OVERLAPPED)) == INVALID_SOCKET)
{
printf("错误:Failed to get a socket %d\n", WSAGetLastError());
WSACleanup();
return;
}
inetAddr.sin_family = AF_INET;
netAddr.sin_addr.s_addr = htonl(INADDR_ANY);
inetAddr.sin_port = htons(FTP_PORT);
if(bind(sListen,(PSOCKADDR)&inetAddr,sizeof(inetAddr))==SOCKET_ERROR)
{
printf("错误:bind() failed with error %d\n", WSAGetLastError());
return;
}
if (listen(sListen, SOMAXCONN))
{
printf("错误:listen() failed with error %d\n", WSAGetLastError());
return;
}
printf("\n学院 \n\n");
printf("文件传输开始运行\n\n");
if ((sAccept = WSASocket(AF_INET, SOCK_STREAM, 0, NULL, 0,
WSA_FLAG_OVERLAPPED)) == INVALID_SOCKET)
{
printf("错误:Failed to get a socket %d\n", WSAGetLastError());
return;
}
4、线程技术代码
// 创建线程处理请求
if (CreateThread(NULL, 0, ProcessTreadIO, NULL, 0, &dwThreadId) == NULL)
{
printf("错误:CreateThread failed with error %d\n", GetLastError());
return;
}
g_dwEventTotal = 1;
while(TRUE)
{
//处理入站连接
if ((sAccept = accept(sListen, NULL, NULL)) == INVALID_SOCKET)
{
printf("错误:accept failed with error %d\n", WSAGetLastError());
return;
}
//回传欢迎消息
if( !WelcomeInfo( sAccept ) ) break;
//设置ftp根目录
if( !SetCurrentDirectory( DEFAULT_HOME_DIR ) ) break;
其实就是告诉我这几行代码的重点在那里!
参考资料:http://hi.baidu.com/hias_asia/blog/item/8fcc2baca7af02014b36d6e6.html