- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
文件分块传输课程设计.doc
广东工业大学华立学院
生产实习设计(论文)
题目名称_________文件分块传输____________
学生学部(系)___计算机科学与艺术设计____
专业班级_________08计算机一班____________
学??? 号_________11010801033_____________
学生姓名_________刘首泽__________________
指导教师_________林荣霞__________________
2012年 2月20日
一、
4、以个服务端端可以同时接受多个客户端发送来的文件。
5、在接文件的时候采用多线程传输,即分段传输。
二、 三、 UINT __cdecl MyMainThreadFunc(LPVOID pParam)
{
SOCKET sock = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
SOCKADDR_IN svraddr={0};
svraddr.sin_family=AF_INET;
svraddr.sin_port=htons(8001);
svraddr.sin_addr.S_un.S_addr=INADDR_ANY;
bind(sock,(SOCKADDR*)svraddr,sizeof(svraddr));
//设置监听
listen(sock,20);
//等候连接
SOCKADDR_IN clientaddr={0};
int nLen=sizeof(clientaddr);
while(1)
{
CMyData myData;
//接受连接
myData.m_socketClient = accept(sock,(SOCKADDR*)clientaddr,nLen);
BOOL bRet = myData.IsAcceptFile(myData);//是否接受
//创建一个接受的线程
if(bRet)
{
myData.SendClient(myData,true);
AfxBeginThread(CreateLinkThread,myData);
}
else//回送给客户端一个拒绝消息..
myData.SendClient(myData,false);
}
//关闭连接
AfxMessageBox(Over);
closesocket(sock);
return 1;
}
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
// TODO: Add your specialized code here and/or call the base class
//创建一个线程,用于接受连接..
CWinThread *pThread = AfxBeginThread(MyMainThreadFunc,this,0,CREATE_SUSPENDED);
if(!pThread)
{
AfxMessageBox(建立服务器失败!);
PostQuitMessage(0);
}
return CFrameWnd::OnCreateClient(lpcs, pContext);
}
客户端连接服务端
//连接
int nRet = connect(pDlg-m_sockClient,(SOCKADDR*)svraddr,sizeof(svraddr));
if(nRet == SOCKET_ERROR)
{
pDlg-GetDlgItem(IDC_SEND)-SetWindowText(发送);
::EnableWindow(hWnd,TRUE);
AfxMessageBox(连接服务器失败);
::TerminateThread(hThread,2);
return;
}
客服端传送文件
//获取文件长度
pDlg-m_nLength = pDlg-m_File.GetLength();
//获取文件名
CString szTemp = pDlg-m_File.GetFileTitle();
strcpy(pDlg-m_fileInfo.szName,szTemp);
pDlg-m_fileInfo.fileLength = pDlg-m_File.GetLength();
您可能关注的文档
最近下载
- 《语文(基础模块)下册》(中职)教案 第24课 跨媒介阅读与交流(二).pdf VIP
- 《磨床安全操作规程》.docx VIP
- 青2013G02图集-标准图集.docx VIP
- 第36届全国中学生物理竞赛决赛理论考试试题与解答.pdf VIP
- DB45_T1900-2018_芒果成龄果树管理技术规程_广西壮族自治区 conv.docx VIP
- 软件测试-全套PPT课件.pptx
- 类风湿关节炎情景模拟教学案例范文.docx VIP
- 2025广西公需科目培训考试答案(90分)——“一区两地一园一通道”建设;人工智能时代的机遇与挑战(1).pdf VIP
- 化学核心素养引领单元主题学习之初探.docx VIP
- 钻床安全操作规程[共1页].doc VIP
文档评论(0)