C++的代码,谁帮我翻译一下谢谢

谢谢我要做毕业设计,需要详细的解释,以及本段代码的特点解释
谢谢各位了

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;
其实就是告诉我这几行代码的重点在那里!

第1个回答  2009-04-30
FTP客户端代码。

1.简单服务器
//#include <winsock2.h>
//#pragma comment(lib,"WS2_32.lib")
WSADATA sServer,sClient;
chat buf[1024];
int retVal;
if(WSAStartup(MAKEWORD(2,2),&wsd)!=0)
{
return -1;//失败
}
sServer=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if(INVALID_SOCKET==sServer)
{
WSACleanup();
return -1;//创建套接字失败
}
SOCKADDR_IN addrServ;
addrServ.sin_family=AF_INET;
addrServ.sin_port=htons(%%1);
addrServ.sin_addr.s_addr=INADDR_ANY;
retVal=bind(sServer,(LPSOCKADDR)&addrServ,sizeof(SOCKADDR_IN));
if(SOCKET_ERROR==retVal)
{
closesocket(sServer);
WSACleanup();
return -1;//绑定套接字失败
}
retVal=listen(sServer,1);
if(SOCKET_ERROR==retVal)
{
closesocket(sServer);
WSACleanup();
return -1;//开始监听失败
}
socketaddr_in addrClient;
int addrClientlen=sizeof(addrClient);
sClient=accept(sServer(sockaddr FAR*)&addrClient,&addClientlen);
if(INVALID_SOCKET==sClient)
{
closesocket(sServer);
WSACleanup();
return -1;//开始接受客户端连接失败
}
ZeroMemory(buf,sizeof(buf));
retVal=recv(sClient,buf,sizeof(buf));
if(SOCKET_ERROR==retVal)
{
closesocket(sServer);
closesocket(sClient);
WSACleanup();
return -1;//接收数据失败
}
CString %%2(buf);
closesocket(sServer);
closesocket(sClient);
WSACleanup();

参考资料:http://hi.baidu.com/hias_asia/blog/item/8fcc2baca7af02014b36d6e6.html

第2个回答  2009-05-05
这不就是socket编程么...在windows上采用多线程写的一个server,我会这个,给我多少人呀?呵呵!我的qq是82865835本回答被提问者采纳
第3个回答  2009-04-30
重赏之下必有勇夫,给我高价我也做不来。呵呵
相似回答