登录
|
注册
|
QQ账号登录
|
常见问题
联系我们:
我要上传
首页
浏览
幼儿/小学教育
中学教育
高等教育
研究生考试
外语学习
资格/认证考试
论文
IT计算机
经济/贸易/财会
管理/人力资源
建筑/环境
汽车/机械/制造
研究报告
办公文档
生活休闲
金融/股票/期货
法律/法学
通信/电子
医学/心理学
行业资料
文学/艺术/军事/历史
我的淘豆
我要上传
帮助中心
复制
下载此文档
在Linux下基于TCP协议的文件传输程序汇总.doc
文档分类:
IT计算机
|
页数:约12页
举报非法文档有奖
分享到:
1
/
12
下载此文档
搜索
下载此文档
关闭预览
下载提示
1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
2.下载该文档所得收入归上传者、原创者。
3.下载的文档,不会出现我们的网址水印。
同意并开始全文预览
(约 1-6 秒)
下载文档到电脑,查找使用更方便
下 载
还剩?页未读,
继续阅读
分享到:
1
/
12
下载此文档
文档列表
文档介绍
在Linux下基于TCP协议的文件传输程序汇总.doc
Linux下基于TCP/IP协议的文件传输程序
【设计目的】
通过Linux C编程,设计一个基于TCP/IP的文件传输系统,实现网络文件的收发
【设计环境】
Ubuntu
【设计方案】
文件读写
任意文件都可以二进制的方式进行读写,为了实现任意文件类型的传输,在读写文件的过程中,必须采用二进制的读写方式。
传输协议
为了保证数据的正确性,文件传输需要采用一种可靠的传输协议。UDP协议实现比较简单,但UDP面向无连接,传输过程中,会出现丢包的情况,导致数据发送失败。故采用面向连接的TCP/IP协议,防止传输过程中的数据丢失的情况。
大文件的传输
对于比较大的文件,应该进行分包操作,以防止占用过多的内存,导致文件发送失败。
【设计流程】
如图1所示,服务器程序作为文件的发送方。首先,服务器端输入要发送的文件。然后,创建一个流式套接字(SOCK_STREAM),进行绑定。绑定成功后,执行监听,当有客户发送连接请求,执行Accept(),接收来自客户端的请求。
连接建立后,首先服务器向客服端发送的文件的文件名及扩展名等信息。信息发送完毕,服务器方将待发送的数据读入缓冲区,通过套接字将数据发送出去。发送完成后退出,并显示发送完成的信息。
图1 服务器流程图
如图2所示,客户端程序完成文件的接收操作。首先,创建一个流式套接字。套接字创建成功后,对该套接字进行绑定。绑定成功后,向服务器方发送连接请求。连接成功后,首先,接收服务器发送的文件信息。接收成功后,开始数据的接收。文件接收完毕,显示文件已接收完成。
图2 客户端流程图
【设计测试】
了验证设计的正确性,在Ubuntu 。
步骤如下:
(1)
(2)客户端源文件及可执行文件
(3),等待客户端连接
(4)执行客户端文件,如果不输入IP地址将显示提示
(5)执行客户端文件后,输入完整命令,文件传输文件完成
(6)看到服务器端也显示文件传输完成
服务器源码:
#include <>
#include <>
#include <>
#include <>
#include <sys/>
#include <sys/>
#include <sys/>
#include <netinet/>
#define PORT 6000
#define LISTENQ 20
#define BUFFSIZE 4096
#define 512
int main(int argc, char **argv[])
{
//输入文件名称
char [];
bzero();
printf("Please input the you wana to send:");
scanf("%s",&);
getchar();
//设置一个socket地址结构
int sockfd,connfd;
struct sockaddr_in svraddr,clientaddr;
bzero(&svraddr,sizeof(svraddr));//把一段内存区的内容全部设置为0
=AF_INET;
=htonl(INADDR_ANY);
=htons(PORT);
//创建用于internet的流协议(TCP)socket
sockfd=socket(AF_INET,SOCK_STREAM,0);
if(sockfd<0)
{
perror("socket");
exit(1);
}
//把socket和socket地址结构绑定
if(bind(sockfd,(struct sockaddr*)&svraddr,sizeof(svraddr))<0)
{
perror("bind");
exit(1);
在Linux下基于TCP协议的文件传输程序汇总 来自淘豆网www.taodocs.com转载请标明出处.
猜你喜欢
2024年平凡的日子也精彩作文
8页
2024年常用版不定期劳动合同范本(通用6篇)
19页
肩关节镜术后护理
29页
2024年师德师风自查工作报告范文
7页
2024年师德师风教师学习心得
24页
基于捕食者—被捕食者模型的自然资本投资效果..
2页
肝癌全身化疗-ppt课件
64页
2024年市场营销工作职责
14页
基于图像分割评价的图像目标定位研究开题报告..
2页
2024年工程机械买卖合同(5篇)
15页
基于双馈风电机组等值模型的风电场输出功率分..
2页
2024年工程总监年度工作总结
35页
2024年工程工程合同15篇
56页
2024年工程合同书集锦15篇
79页
基于全面质量管理的电信传输网络运维质量控制..
2页
相关文档
更多>>
非法内容举报中心
文档信息
页数
:
12
收藏数
:
0
收藏
顶次数
:
0
顶
上传人
:
zhongxinado
文件大小
:
590 KB
时间
:
2021-12-11
相关标签
基于tcp的协议
传输文件的协议
文件传输协议
传输文件协议
邮件传输协议
文件传输是使用协议
传输协议
电子邮件的传输协议
传输层的协议
电子邮件传输协议
计算机原理
PHP资料
linux/Unix相关
C/C++资料
Java
.NET
windows相关
开发文档
管理信息系统
软件工程
网络信息安全
图形图像
行业软件
人工智能
计算机辅助设计
多媒体
软件测试
计算机硬件与维护
网站策划/UE
网页设计/UI
网吧管理
电子支付
搜索引擎优化
服务器
电子商务
Visual Basic
数据挖掘与模式识别
数据库
Web服务
网络资源
Delphi/Perl
Python
CSS/Script
Flash/Flex
手机开发
UML理论/建模
并行计算/云计算
嵌入式开发
计算机应用/办公自动化
数据结构与算法
SEO
最近更新
我国城乡信贷公平评价及其实现路径的开题报..
2024年幼师个人工作计划范文(精选6篇)
2024年幼儿教师辞职信14篇
我国农村信用社经营管理的创新研究的开题报..
我国内河船员权益保障问题研究的开题报告
2024年幼儿工作汇报材料(9篇)
我国企业并购重组与技术进步的关系实证研究..
2024年幼儿园过新年主题活动总结(通用19篇..
2024年幼儿园老师工作总结(15篇)
2024年幼儿园班主任经验交流会发言稿
德钦县升平镇藏族婚姻习俗研究中期报告
小学教师教育教学总结(31篇)
微生物源示踪技术(MST)识别水体中人源粪便的..
2024年幼儿园暑假安全工作总结
2024年事业单位招聘考试山西省运城市职业能..
安全生产年度预算
农村中学初中阶段的英语教学学情分析
缓刑矫正人员思想汇报100篇
国家职业技术技能标准 3-01-01-05 劝募员技..
施工图纸预算书(共44页)
浅谈大坡度隧道施工防溜车安全管控措施
厦门市职业技能考核鉴定机构一览表
2019年湖北黄冈中考成绩查询及查分入口【7月..
青岛版小学数学六年级下册复习
髋膝关节解剖ppt课件
在线
客服
微信
客服
QQ
客服
意见
反馈
手机
查看
返回
顶部