- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于socket通信系统设计
基于Socket通信系统设计实验报告一、实验目的和要求?1、掌握VC++集成开发环境编写网络程序的方法;2、掌握客户/服务器(C/S)应用的工作方式;3、学习网络中进程之间通信的原理和实现方法;二、实验内容?所编写的程序应具有如下功能:?1.?具有点对点通信功能,服务器向客户端发送消息,客户端接收服务器发送的消息并显示;?2、具有广播功能,服务器能够向连接到服务器的所有客户端广播消息;??三、编程语言和环境?1.?编程语言C/C++;?2.?编程环境Windows Visual Studio 2010。四、Socket通信的实现Windows Sockets是一套开放的、支持多种协议的Windows下的网络编程接口,利用Sockets套接字能够实现不同主机间的网络通信。Socket实际是在计算机中建立一个通信端口,可以通过这个端口与任何一个具有Socket接口的计算机通信。目前常用的套接字类型是基于TCP/IP协议的流式套接字,其特点是提供一种可靠的、面向连接的数据传输服务。本实验采用基于TCP/IP协议的流式套接字实现发送方与接收方之间的安全通信。其程序实现流程如下图所示:1.服务器端首先调用socket函数来建立一个套接字;套接字创建成功后,调用bind函数将一个IP地址和端口号绑定到己经建立的socket上;绑定完成之后,服务器等待接收客户端的连接请求,调用listen函数实现监听的功能;监听到连接请求之后,服务器调用accept函数生成一个新的套接口描述符,以接受客户的连接请求,之后调用send/receive函数在套接字上进行数据的读/写,直至完成交换;通信结束之后,调用close函数关闭套接字。服务器socket通信程序://创建socket套接字连接if(m_hSocket != NULL){closesocket(m_hSocket);m_hSocket = NULL;}if(m_hSocket == NULL){m_hSocket = socket(AF_INET, SOCK_STREAM,0);ASSERT(m_hSocket != NULL);}m_addr.sin_family = AF_INET;m_addr.sin_addr.S_un.S_addr = INADDR_ANY;m_addr.sin_port = htons(m_nPort);int ret = 0,error = 0;ret = bind(m_hSocket, (LPSOCKADDR)m_addr, sizeof(m_addr));if(ret == SOCKET_ERROR){TRACE(Bind Error: %d \n, (error = WSAGetLastError()));return ;}ret = listen(m_hSocket, 2);if(ret == SOCKET_ERROR){TRACE(Listen Error: %d \n, (error = WSAGetLastError()));return ;}SOCKET s = accept(m_hSocket, NULL, NULL);if(s == SOCKET_ERROR){TRACE(Accept Error: %d \n, (error = WSAGetLastError()));return ;}//监听接收到信息char buff[256];ret = recv(s, buff, 256, 0);if(ret == 0 || ret == SOCKET_ERROR ){TRACE(Recv data error: %d\n, WSAGetLastError());return ;}char* name = NULL;char* pass = NULL;int len = 0;len = buff[0];name = new char[len + 1];for(int i = 0; i len; i++)name[i] = buff[i+1];int len2 = buff[len + 1];pass = new char[len2 + 1];for(int i = 0; i len2; i++)pass[i] = buff[i + 2 + len];//发送消息代码CString str;if(strcmp(name, ware) != 0){str = _T(用户名不正确!);TRACE(_T(用户名不正确!\n));}else{if(strcmp(pass, 11111) != 0){str = _T(用户密码不正确!);TRACE(_T(用户密码不正确!\n));}}if(str.IsEmpty()){str =_T(我是马琰); str
您可能关注的文档
最近下载
- T∕CACM 1137-2018 中医神志病临床诊疗指南 躯体形式障碍.pdf
- 与采购人配合沟通方案.docx VIP
- 晋剧《明公断》剧本.doc VIP
- 血液透析并发症脑出血ppt.pptx
- 航空与航天摄影技术课件.pptx
- 2024-2025学年深圳市人大附中新高一入学分班考试数学模拟试卷附答案解析.docx VIP
- 西部黄金伊犁有限责任公司金锌精矿综合回收及氰化渣无害化治理项目环境影响报告书.pdf VIP
- 不锈钢管安装施工方案.doc VIP
- 含碘对比剂静脉外渗护理管理实践指南解读.pptx VIP
- (精编)沪教版上海市小学二年级数学上册期末考试试题(共4套,已编好文档).pdf VIP
文档评论(0)