《并发套接字编程》课程设计报告

《并发套接字编程》课程设计报告

ID:15320926

大小:543.00 KB

页数:10页

时间:2018-08-02

《并发套接字编程》课程设计报告_第1页
《并发套接字编程》课程设计报告_第2页
《并发套接字编程》课程设计报告_第3页
《并发套接字编程》课程设计报告_第4页
《并发套接字编程》课程设计报告_第5页
资源描述:

《《并发套接字编程》课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《并发套接字编程》课程设计报告姓名:王延兴班级:9班学号:541109049《并发套接字编程》课程设计报告班级:11级9班学号:54110904姓名:王延兴一、设计任务分析(一)实验环境操作系统:Windows或Linux编程工具及集成开发环境:VC++(二)实验目的和要求实验目的:掌握Linux或Windows平台上多线程、多进程或异步I/O的套接字编程。实验要求:(1)在Windows上,编写、编译1个客户机端程序和1个服务器端程序。要求客户机端程序能发送请求给服务器端程序,服务器端程序收到

2、后能发送本机时间给客户机端程序。(2)在相同或不同机子上,先运行服务器端程序可执行文件,后运行客户机端程序可执行文件。可选内容:(1)编写Linux或Windows平台上采取各并发方式的1种程序。(2)测试多线程、多进程或异步I/O的性能。二、设计方案本实验采用的多线程的编程方式实现了并发u各个函数功能:9DWORDWINAPIClientThread(LPVOIDlpParameter)接收每个客户端连接的处理函数hThread=CreateThread(NULL,0,ClientThread

3、,(LPVOID)CientSocket,0,NULL);创建进程send(CientSocket,tmp,(int)strlen(tmp),0);发送数据recv(CientSocket,RecvBuffer,MAX_PATH,0);接收数据WSAStartup(MAKEWORD(2,2),&Ws)初始化套接字类库socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);创建套接字bind(ServerSocket,(structsockaddr*)&LocalAddr,

4、sizeof(LocalAddr));绑定套接字listen(ServerSocket,10);侦听,队列大小为10u设计思想:创建TCP并发服务器三、详细设计服务器:详细代码://multhreadServer.cpp:Definestheentrypointfortheconsoleapplication.//#include"stdafx.h"#include#include#pragmacomment(lib,"ws2_32.lib")using

5、namespacestd;#include#include#definePORT4000#defineIP_ADDRESS"127.0.0.1"DWORDWINAPIClientThread(LPVOIDlpParameter)//接收每个客户端连接的处理函数{SOCKETCientSocket=(SOCKET)lpParameter;intRet=0;charRecvBuffer[MAX_PATH];//在VC++6.0中,MAX_PATH的值为260。

6、time_tt=time(0);chartmp[64];strftime(tmp,sizeof(tmp),"%Y/%m/%d%X%A本年第%j天%z",localtime(&t));Ret=send(CientSocket,tmp,(int)strlen(tmp),0);if(Ret==SOCKET_ERROR){cout<<"SendInfoError"<

7、内存做初始化工作,其返回值为指向RecvBuffer的指针。Ret=recv(CientSocket,RecvBuffer,MAX_PATH,0);if(Ret==0

8、

9、Ret==SOCKET_ERROR){cout<<"客户端退出!"<

10、s;SOCKETServerSocket,CientSocket;structsockaddr_inLocalAddr,ClientAddr;intRet=0;intAddrLen=0;HANDLEhThread=NULL;//InitWindowsSocketif(WSAStartup(MAKEWORD(2,2),&Ws)!=0){cout<<"InitWindowsSocketFailed::"<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。