《天津理工大学计算机网络 实验二》由会员分享,可在线阅读,更多相关《天津理工大学计算机网络 实验二(6页珍藏版)》请在人人文库网上搜索。

1、实验报告学院(系)名称:计算机与通信工程学院姓名学号专业计算机科学与技术班级实验名称实验二:基于TCP/UDP的Socket编程课程名称计算机网络课程代码实验时间实验地点7#219批改意见成绩教师签字: 1. 实验目的了解套接字(socket)实现原理。通过编成理解TCP、UDP原理,加深对传输层的功能理解。2. 实验环境Windows 73. 实验要求请在以下题目中选择一个,按照要求完成实验,并完成实验报告。实验可以分组进行,每2人一组,在报告中注明每个成员的分工。编程可以使用任何高级语言,建议使用java或C+。(1)基于TCP / UDP的socket编程a) 利用Java或C+语言,分。

2、别基于TCP和UDP编写一个简单的Client/Server网络应用程序。要求实现客户向服务器传输任意一个字符串,服务器将收到的字符串变换成大写后传回客户。b) 修改上述程序,实现服务器根据客户请求,将服务器端指定的文件可靠地传输给客户。如果服务器没有指定的文件,服务器将给客户返回一个信息,通知客户其请求文件不存在。4. 实验过程记录(源程序、测试用例、测试结果及心得体会等)源程序:(1)服务端:/server.cpp #include #include #include #include #include #pragma comment(lib, WS2_32.lib ) using nam。

3、espace std; void OutErr(string msg) cout 0) if(FD_ISSET(c,&fdread) ReciveBytes=recv(c,data,10,0); if(ReciveBytes=SOCKET_ERROR) break; cout 0); FD_CLR(c,&fdread); closesocket(c); return 0; int main() SOCKET server; SOCKET client; SOCKADDR_IN ser_addr,cli_addr; WSADATA wdata; int cliaddrLen=0; UINT po。

4、rt=4000; HANDLE Hnd; DWORD dwThreadID; if(WSAStartup(MAKEWORD(2,0),&wdata)!=0) OutErr(string( WSAStartup ); return 1; ser_addr.sin_addr.S_un.S_addr=inet_addr( 0.0.0.0 ); ser_addr.sin_family=AF_INET; ser_addr.sin_port=htons(port); /if(server=WSASocket(AF_INET,SOCK_STREAM,IPPROTO_IP,NULL,0,1)=INVALID_。

5、SOCKET) if(server=socket(AF_INET,SOCK_STREAM,IPPROTO_IP)=INVALID_SOCKET) OutErr(string( WSASocket ); return 1; if(bind(server,(SOCKADDR *)&ser_addr,sizeof(SOCKADDR)!=0) OutErr(string( bind ); return 1; if(listen(server,5)!=0) OutErr(string( listen ); return 1; while(1) cliaddrLen=sizeof(SOCKADDR); c。

6、lient=accept(server,(SOCKADDR *)&cli_addr,&cliaddrLen); cout 0) if(FD_ISSET(client,&fdread)/c中是否属于fdread集合 do/循环读取,每次接收10个字符,直到把缓冲区中全部取完 ReciveBytes=recv(client,data,10,0); if(ReciveBytes=SOCKET_ERROR) /SOCKET错误 break; dataReciveBytes=0;/加上结束符 cout 0); /while接收数据 if(Hnd=NULL) CloseHandle(Hnd); close。

7、socket(client); closesocket(server); WSACleanup(); return 0; 客户端:/client.cpp #include #include #include #pragma comment(lib, ws2_32.lib ) using namespace std; void OutErr(string msg) cout remote_ip; if(WSAStartup(MAKEWORD(2,2),&wsd)!=0) OutErr(string( WSAStartup ); return 1; if(c=WSASocket(AF_INET,S。

8、OCK_STREAM,IPPROTO_IP,NULL,0,1)=INVALID_SOCKET) OutErr(string( WSASocket ); return 1; server_addr.sin_addr.S_un.S_addr=inet_addr(remote_ip.c_str(); server_addr.sin_family=AF_INET; server_addr.sin_port=htons(4000); if(connect(c,(SOCKADDR *)&server_addr,sizeof(SOCKADDR_IN)!=0) OutErr(string( connect )。

9、; return 1; do int SentBytes; cin msg; if(msg= exit )break; if(SentBytes=send(c,msg.c_str(),msg.size(),0)=SOCKET_ERROR) OutErr(string( send ); break; while(1); closesocket(c); WSACleanup(); return 0; 测试结果:心得体会:通过这次的实验,巩固了我以前基础的java知识,了解Socket类与ServerSocket类的作用与用法,会用一些Socket类与ServerSocket类的重要方法,初步了解java中用来实现客户端TCP操作Socket类,这个类本身使用直接代码通过主机操作系统的本地TCP栈进行通信。6 / 6。

天津理工大学 计算机网络综合实验,天津理工大学计算机网络 实验二相关推荐

  1. 计算机多重网络intnet,南昌大学计算机网络实验(全).doc

    南昌大学计算机网络实验(全)南昌大学计算机网络实验(全) 实 验 报 告 实验课程: 学生姓名: 学 号: 专业班级: 2013年 06月 08日 目录 实验1 网线制作及对等网配置2 实验2 安装与 ...

  2. 计算机网络实验报告3-tcp,计算机网络实验报告3-TCP.doc

    计算机网络实验报告3-TCP 计算机网络实验报告 专业:计算机科学与技术 年级: 班级: 姓名: 学号: 计算机科学学院 TCP协议分析 1.What is the IP address and TC ...

  3. 天津理工大学 计算机网络综合实验,天津理工大学计算机网络实验二.pdf

    实验报告 学院(系)名称: 计算机与通信工程学院 姓名 学号 专业 计算机科学与技术 班级 实验名称 实验二:基于 TCP/UDP 的 Socket 编程 课程名称 计算机网络 课程代码 实验时间 实 ...

  4. 同济大学计算机网络综合实验报告,同济大学 计算机网络实验报告.doc

    同济大学 计算机网络实验报告 同济大学电子与信息工程学院实验报告 实验课程名称: 计算机通信网络 任课教师: 实验项目名称: 跨交换机实现VLAN 实验项目名称: 静态路由 实验项目名称: OSPF单 ...

  5. 北京理工大学计算机课答案,北京理工大学计算机专业考研课程模拟试题.doc

    PAGE PAGE 4 北京理工大学计算机专业考研课程模拟试题集 北京理工大学远程教育学院 北京理工大学专业课程模拟试题集 目 录 目 录 TOC \o "1-3" \h \z \ ...

  6. 天津师范大学计算机专业排名,天津最好的10所大学公布:天津师范大学第三,各校就业率相差较大...

    前言: 天津市是一座国际化都市,也是四大直辖市之一,这里是梦想与勇气的汇聚地,还是文艺和张扬都可以互相碰撞的地方. 论高校资源,虽然没有北上广丰富,但也涌现出一批实力强劲.光环闪耀的高等学府. 天津大 ...

  7. 华南理工大学计算机原理作业,华南理工大学计算机组成原理复习提纲

    华南理工大学计算机组成原理复习提纲 (3页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 第一章 计算机系统概论Ø 计算机系统的基本组成. ...

  8. 高考特长计算机2017,2017年北京理工大学计算机学院申请竞赛获奖与特长生推荐.PDF...

    2017 年北京理工大学计算机学院申请竞赛获奖及特长生推荐免试硕士学位研究生名单 排序 姓名 本科专业 竞赛获奖等级 赛事名称或发表论文的核心期刊名称 1 关明扬 计算机科学与 全国总决赛一等奖 20 ...

  9. 山东理工大学计算机期末考试题,山东理工大学计算机基础试题11

    山东理工大学计算机基础试题11 一.单选题(共20分,每小题1分) 1. 计算机存储器可以分为 . A)软盘.硬盘 B)磁盘.磁带.光盘 C)内存.外存 D)RAM.ROM 2. 以下4个数中最大的是 ...

最新文章

  1. Mopaas 初体验
  2. 移除 ZooKeeper 的 kafka 2.8 ,更快了
  3. leetcode(二)二分法查找算法
  4. 交换两个整型变量的数值
  5. Dreamweaver 8 jquery 代码提示
  6. 用友CDM系统,将货位间商品移库单(一步)修改为内调出入库单(一步)方法使用...
  7. 人生五大投资,你投对了几个?
  8. python写一个定时关机软件
  9. 黑莓z10 android,黑莓Z10成功刷机完成_黑莓 Z10_手机其它OS-中关村在线
  10. 【智慧城市】智能照明系统解决方案
  11. 八爪鱼数据采集器的使用
  12. OpenCV——分离颜色通道,图像对比度,亮度调整,离散傅里叶变换(10)
  13. 王者战力查询接口,四大战区(文字版)
  14. Win7升级Win10系统提示错误0x80070057的解决方法
  15. DDOS攻击器常见的三种方式
  16. LeetCode No5. 最长回文子串 题解
  17. Android Studio的复制一行快捷键与Windows7屏幕旋转快捷键冲突
  18. win10安装steam有损计算机,win10系统steam磁盘写入错误怎么办 steam磁盘写入错误的解决教程...
  19. android仿照网易新闻源代码
  20. PHP:【微信小程序】初识微信小程序,微信小程序配置

热门文章

  1. ni软件可以卸载吗_最强大的电脑端卸载软件!和你想的一样吗?进来看看!
  2. 树型列表结构宽度调整_Material Design 网格列表
  3. java 代码发送邮件添加附件_Java实现163邮箱发送邮件到QQ邮箱
  4. linux终端使用python3,3 个 Python 命令行工具 | Linux 中国
  5. python按日期排序_你如何在python中获得按创建日期排序的目录列表?
  6. 应用上云 2 小时烧掉近 50 万,创始人:差点破产,简直噩梦
  7. 某度网盘转存限制500个文件?这个软件帮你搞定!
  8. 我的研究生这三年(含腾讯AI Lab实习、CVPR发表经验)
  9. GitHub 与 git 笔记 。
  10. java卡片布局源码_Java编程使用卡片布局管理器示例【基于swing组件】