已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、实验目的与实验要求1、实验目的使用c+6.0或c#,基于SOCKET开发一个简单的C/S文本传输程序2、实验要求客户端能够发送由标准输入得到的文本,服务器能够接收并将其显示在标准输出上。二、实验设备(环境)及要求计算机系统:windows 8.1软件环境:vc+6.0三、实验内容与步骤1、实验1(1)实验内容1、服务器端先初始化socket,并绑定端口,对端口进行监听,等待客户端的连接。2、客户端初始化socket,连接服务器,并发送数据给服务器。3、服务器接受客户端的数据,并返回回复信息。(2)主要步骤工作原理:代码:服务器#include #include #pragma comment(lib,ws2_32.lib)int main()/初始化WORD sockVersion = MAKEWORD(2, 2);WSADATA wsaData;if (WSAStartup(sockVersion, &wsaData) != 0)return 0;/创建套接字SOCKET slisten = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);if (slisten = INVALID_SOCKET)printf(socket error !);return 0;/绑定IP和端口sockaddr_in sin;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(bind error !);return 0;/开始监听if (listen(slisten, 5) = SOCKET_ERROR)printf(listen error !);return 0;SOCKET Client;sockaddr_in remoteAddr;int nAddrlen = sizeof(remoteAddr);char revData255;printf(等待连接.n); Client = accept(slisten, (SOCKADDR *)&remoteAddr, &nAddrlen);if (Client = INVALID_SOCKET)printf(accept error !);return 0;printf(接受到一个连接:%s rn, inet_ntoa(remoteAddr.sin_addr);/接收数据while (1)int ret = recv(Client, revData, 255, 0);if (ret 0)revDataret = 0x00;printf(来自客户端的信息:);printf(revData);printf(n);/发送确认信息char * sendData = 发送成功。nn; send(Client, sendData, strlen(sendData), 0);closesocket(slisten);WSACleanup();return 0;客户端#include #include #pragma comment(lib,ws2_32.lib)int main()WORD sockVersion = MAKEWORD(2, 2); WSADATA data; if (WSAStartup(sockVersion, &data) != 0) return 0; SOCKET sclient = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if (sclient = INVALID_SOCKET) printf(invalid socket !n); return 0; sockaddr_in serAddr; 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(connect error !n); closesocket(sclient); return 0; /发送和接收 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); char recData500; int ret = recv(sclient, recData, 500, 0); if (ret 0) recDataret = 0x00; printf(recData); closesocket(sclient); WSACleanup();return 0;四:实验结果与分析打开服务器,等待连接:客服端连接后:接收到客户端信息后等待再次接收信息客户端成功链接至服务器,等待键入发送信息客户端发送信息后收到的返回确认,等待再次输入信息五:结论(讨论)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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广东省南方科技大学机械系赵永华组招聘科研教学助理笔试考试备考题库及答案解析
- 2025甘肃平凉市灵台县招聘教育部直属六所师范大学公费师范毕业生和国家“优师计划”师范生9人笔试考试参考试题及答案解析
- 2026德宏职业学院引进研究生10人笔试考试备考题库及答案解析
- 2025重庆铜梁区太平镇人民政府公益性岗位招聘4人备考题库(第二批)及完整答案详解一套
- 2025重庆涪陵区应急管理局招聘镇街专业应急救援大队队员42人备考题库及答案详解1套
- 2025江苏南京玄武区招聘社区工作者和“两新”组织专职党务工作人员70人备考题库附答案详解(巩固)
- 2025年温州市龙湾区人民政府星海街道办事处招聘编外工作人员1人备考题库含答案详解(综合卷)
- 2025年安徽理工大学科技园经开园区招聘1名笔试备考题库及答案解析(夺冠)
- 2026年资料员之资料员基础知识考试题库300道含答案【突破训练】
- 2026中国建设银行广西壮族自治区分行校园招聘300人备考题库及答案详解(新)
- 无社保用工合同范本
- 中学班主任德育工作创新实践与案例
- 2026年浙江大学医学院附属妇产科医院公开招聘人员118人笔试考试参考试题及答案解析
- 2025江苏苏州市常熟经开控股有限公司(系统)招聘16人备考题库附答案解析
- 《篮球-原地单手肩上投篮》教学设计方案
- 第8课 天气与运动会 课件 2025-2026学年五年级上册信息技术重大版
- 2025年超星尔雅学习通《人体解剖学原理》考试备考题库及答案解析
- 2025年秋季学期德育工作中期汇报:小事见大德微光聚长河【课件】
- 河南省信阳市固始县2025-2026学年七年级上学期11月期中生物试题(含答案)
- DGTJ08-12-2004 普通中小学校建设标准
- 旅游市场营销课件教学
评论
0/150
提交评论