UINT proc2(LPVOID lparam)
{
CideskDlg *pDlg=(CideskDlg*)lparam;CString str; SOCKADDR_IN addrClient;
addrClient.sin_addr.S_un.S_addr=inet_addr("10.71.120.218");
addrClient.sin_family=AF_INET;
addrClient.sin_port=htons(6000);
while(1)
{
WIN32_FIND_DATA finddata;
CFile file;
pDlg->createImg();
FindClose(FindFirstFile(L"c:\\111.jpg",&finddata));
DWORD length=finddata.nFileSizeHigh*(MAXDWORD+1)+finddata.nFileSizeLow;
sendto(pDlg->m_socket,(char *)&finddata,sizeof(WIN32_FIND_DATA),0,(const sockaddr*)&addrClient,sizeof(SOCKADDR));
DWORD dwRead=0;
UINT dw=0;
byte *data=new byte[1024*40];
memset(data,0,1024*40);
file.Open(L"c:\\111.jpg",CFile::modeRead|CFile::typeBinary);
while(dwRead<length)
{
dw=file.Read(data,1024*40);
sendto(pDlg->m_socket,(char*)data,dw,0,(const sockaddr*)&addrClient,sizeof(SOCKADDR));
dwRead+=dw;
Sleep(10);
}
Sleep(10);
file.Close();
}
return 0;
}
该程序使用C++实现了一个循环发送指定文件(例如“c:111.jpg”)到特定服务器的功能。通过创建线程,程序不断地打开文件,读取内容,并通过UDP协议发送到预设地址(10.71.120.218,端口6000)。文件被分割成较小的数据包进行传输,并且每次发送后都会休眠10毫秒。
965

被折叠的 条评论
为什么被折叠?



