




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、实验目的与实验要求1、实验目的使用c+6.0或c#,基于SOCKET开发一个简单的C/S文本传输程序2、实验要求客户端能够发送由标准输入得到的文本,服务器能够接收并将其显示在标准输出上。二、实验设备(环境)及要求计算机系统:windows8.1软件环境:vc+6.0三、实验内容与步骤1、实验1(1)实验内容1、服务器端先初始化socket,并绑定端口,对端口进行监听,等待客户端的连接。2、客户端初始化socket,连接服务器,并发送数据给服务器。3、服务器接受客户端的数据,并返回回复信息。(2)主要步骤工作原理:代码:服务器#include#include#pragmacomment(lib,ws2_32.lib)intmain()/初始化WORDsockVersion=MAKEWORD(2,2);WSADATAwsaData;if(WSAStartup(sockVersion,&wsaData)!=0)return0;/创建套接字SOCKETslisten=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);if(slisten=INVALID_SOCKET)printf(socketerror!);return0;/绑定IP和端口sockaddr_insin;sin.sin_family=AF_INET;sin.sin_port=htons(55555);sin.sin_addr.S_un.S_addr=INADDR_ANY;if(bind(slisten,(LPSOCKADDR)&sin,sizeof(sin)=SOCKET_ERROR)printf(binderror!);return0;/开始监听if(listen(slisten,5)=SOCKET_ERROR)printf(listenerror!);return0;SOCKETClient;sockaddr_inremoteAddr;intnAddrlen=sizeof(remoteAddr);charrevData255;printf(等待连接.n);Client=accept(slisten,(SOCKADDR*)&remoteAddr,&nAddrlen);if(Client=INVALID_SOCKET)printf(accepterror!);return0;printf(接受到一个连接:%srn,inet_ntoa(remoteAddr.sin_addr);/接收数据while(1)intret=recv(Client,revData,255,0);if(ret0)revDataret=0x00;printf(来自客户端的信息:);printf(revData);printf(n);/发送确认信息char*sendData=发送成功。nn;send(Client,sendData,strlen(sendData),0);closesocket(slisten);WSACleanup();return0;客户端#include#include#pragmacomment(lib,ws2_32.lib)intmain()WORDsockVersion=MAKEWORD(2,2);WSADATAdata;if(WSAStartup(sockVersion,&data)!=0)return0;SOCKETsclient=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);if(sclient=INVALID_SOCKET)printf(invalidsocket!n);return0;sockaddr_inserAddr;serAddr.sin_family=AF_INET;serAddr.sin_port=htons(55555);serAddr.sin_addr.S_un.S_addr=inet_addr(127.0.0.1);if(connect(sclient,(sockaddr*)&serAddr,sizeof(serAddr)=SOCKET_ERROR)printf(connecterror!n);closesocket(sclient);return0;/发送和接收printf(连接成功n);while(1)char*sendData,*q;sendData=(char*)malloc(sizeof(char)*20);q=sendData;printf(请输入需要传输的信息:);scanf(%s,sendData,20);send(sclient,sendData,strlen(sendData),0);charrecData500;intret=recv(sclient,recData,500,0);if(ret0)recDataret=0x00;printf(recData);closesocket(sclient);WSACleanup();return0;四:实验结果与分析打开服务器,等待连接:客服端连接后:接收到客户端信息后等待再次接收信息客户端成功链接至服务器,等待键入发送信息客户端发送信息后收到的返回确认,等待再次输入信息五:结论(讨论)1、实验结论本实验使用c+6.0,基于SOCKET开发一个简单的C/S文本传输程序。2、讨论该程序还可以加入更多的功能,比如1.服务器可以同时连接几个客户端;2.服务器也可以选择发送数据。六、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高三原电池课件
- 高一劳动课本内容
- 文化创意产业全职设计师劳动合同与知识产权保护协议
- 离婚后房产分割及子女抚养权补充协议
- 跨国公司知识产权保护、保密及竞业禁止合同范本
- 离婚案件中宅基地房屋分割及共有权确认合同
- 物业公司股权转让及社区智能化升级协议
- 养殖业发展资金统筹方案
- 深入推进职业教育改革指南
- 利润分籍审计效果
- 《智能建造概论》高职完整全套教学课件
- GB/T 5023.1-2008额定电压450/750 V及以下聚氯乙烯绝缘电缆第1部分:一般要求
- 企业突发环境事件隐患排查与治理工作指南课件
- 小区门岗值班登记表
- 《计算机操作系统(第4版)》配套教学课件
- 哈尔滨市城市规划管理技术规定
- 大学语文课件(完整版)
- 液压与气压传动完整版课件
- 国家教学示范中心-电子科学与技术中心-国防科技大学
- 实名制管理台账资料规范模板内容
- 《关键对话》读书笔记-PPT课件
评论
0/150
提交评论