資源簡介
客戶端:輸入服務器端的IP地址以及要查詢的服務器端的路徑名。例如:
Server IP Address:127.0.0.1
Path of the Server: D:\*.* , G:\MyProjects\*.*
接收并顯示服務器端所查詢路徑下的所有文件名和文件夾名
服務器端:接收來自客戶端要查詢的路徑,查詢并獲取該路徑下的所有文件名和文件夾名,保存查詢內容并發送給客戶端

代碼片段和文件信息
#include
#include
#include?
using?namespace?std;
//服務器端口號5555
#define?DEFAULT_PORT?5555
#define?DATA_BUFFER?1024
void?main(int?argcchar?*argv[])
{
WSADATA?wsaData;
SOCKET?sClient;
int?iPort?=?DEFAULT_PORT;
int?iLeniSendiRecv;
char?send_buf[DATA_BUFFER];//=“D:“;
char?recv_buf[DATA_BUFFER];
//服務器地址
struct?sockaddr_in?ser;
????if(argc?2)
{
//提示在命令行中輸入服務器IP地址
printf(“Usage:client?[server?IP?address]\n“);
return;
}
if(WSAStartup(MAKEWORD(22)&wsaData)!=0)
{
printf(“Failed?to?load?Winsock.\n“);
return;
}
ser.sin_family=AF_INET;
ser.sin_port=htons(iPort);
ser.sin_addr.s_addr=inet_addr(argv[1]);
sClient=socket(AF_INETSOCK_DGRAM0);
if(sClient?==?INVALID_SOCKET)
{
printf(“socket()Failed:%d\n“WSAGetLastError());
return;
}
cout<<“input?path:“;
cin>>send_buf;
iLen=sizeof(ser);
iSend=sendto(sClientsend_bufsizeof(send_buf)0(struct?sockaddr*)&seriLen);
if(iSend==SOCKET_ERROR)
{
printf(“sendto?error:%s\n“WSAGetLastError());
return;
}
else?if?(iSend==0)?
return;
else?
{
printf(“send?success\n“);
}
iRecv=recvfrom(sClientrecv_bufsizeof(recv_buf)0(struct?sockaddr*)&ser&iLen);
if(iRecv==SOCKET_ERROR)
{
printf(“recv?error:%s\n“WSAGetLastError());
return;
}
else?if?(iRecv==0)?
return;
else
{
printf(“Path?of?the?Server:?%s\n“send_buf);
printf(“??.\n??..\n%s\n“recv_buf);
printf(“------------------------------\n“);
}
closesocket(sClient);
WSACleanup();
}
????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????524347??2009-11-25?16:24??ListClient\Debug\ListClient.exe
?????文件???????1587??2009-11-25?16:24??ListClient\ListClient.cpp
?????文件???????4371??2009-11-23?23:39??ListClient\ListClient.dsp
?????文件????????543??2009-11-23?22:55??ListClient\ListClient.dsw
?????文件??????41984??2009-11-25?16:25??ListClient\ListClient.ncb
?????文件??????48640??2009-11-25?16:25??ListClient\ListClient.opt
?????文件???????1305??2009-11-25?16:24??ListClient\ListClient.plg
?????文件??????98363??2009-11-25?16:22??ListServer\Debug\ListServer.exe
?????文件???????2327??2009-11-25?16:22??ListServer\ListServer.cpp
?????文件???????4119??2009-11-25?16:24??ListServer\ListServer.dsp
?????文件????????543??2009-11-25?16:24??ListServer\ListServer.dsw
?????文件??????41984??2009-11-25?16:26??ListServer\ListServer.ncb
?????文件??????48640??2009-11-25?16:26??ListServer\ListServer.opt
?????文件????????898??2009-11-25?16:22??ListServer\ListServer.plg
?????目錄??????????0??2009-11-25?16:39??ListClient\Debug
?????目錄??????????0??2009-11-25?16:39??ListServer\Debug
?????目錄??????????0??2009-11-25?16:25??ListClient
?????目錄??????????0??2009-11-25?16:26??ListServer
-----------?---------??----------?-----??----
???????????????819651????????????????????18
- 上一篇:軟件學院密碼學實驗五
- 下一篇:一個復數類的計算
評論
共有 條評論