社区
C语言
帖子详情
C语言中socket怎样传送文件
naturebe
2011-05-26 03:38:53
我用的是C语言,Linux下的socket编程,已经实现了两遍可以互相发送读取信息,
还想编一个能够发送文件的程序(不单是文本文档,还能传输图片,频频等其他文件)
比如,建立连接后,提示输入路径以及文件名,输入后然后传输到另一个终端。
希望大家大家指点一下,比如用什么函数,或者简单说下怎样实现。谢谢了。
...全文
554
15
打赏
收藏
C语言中socket怎样传送文件
我用的是C语言,Linux下的socket编程,已经实现了两遍可以互相发送读取信息, 还想编一个能够发送文件的程序(不单是文本文档,还能传输图片,频频等其他文件) 比如,建立连接后,提示输入路径以及文件名,输入后然后传输到另一个终端。 希望大家大家指点一下,比如用什么函数,或者简单说下怎样实现。谢谢了。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Qlaiaqu
2011-05-27
打赏
举报
回复
不知道有多少前人掉在TCP Socket
send(人多)send(病少)send(财富)
recv(人多病)recv(少财富)
陷阱里面啊!
................
数据有时候不能一次性全部接收完毕,接收多个包也有可能出线粘包的问题,所以必须对结果进行边界的校验。必须的!
南京浪人甲
2011-05-27
打赏
举报
回复
[Quote=引用 10 楼 zhao4zhong1 的回复:]
不知道有多少前人掉在TCP Socket
send(人多)send(病少)send(财富)
recv(人多病)recv(少财富)
陷阱里面啊!
[/Quote]
抽象。。。。
赵4老师
2011-05-27
打赏
举报
回复
不知道有多少前人掉在TCP Socket
send(人多)send(病少)send(财富)
recv(人多病)recv(少财富)
陷阱里面啊!
Soulic
2011-05-27
打赏
举报
回复
既然已经可以互相发送信息了,那就好办啦,加上文件读取的部分就行了
嘻嘻嘻_
2011-05-27
打赏
举报
回复
[Quote=引用 11 楼 shanki_pm 的回复:]
引用 10 楼 zhao4zhong1 的回复:
不知道有多少前人掉在TCP Socket
send(人多)send(病少)send(财富)
recv(人多病)recv(少财富)
陷阱里面啊!
抽象。。。。
[/Quote]
还真是抽象啊
CrackValue
2011-05-27
打赏
举报
回复
学习了,mark
naturebe
2011-05-27
打赏
举报
回复
[Quote=引用 11 楼 shanki_pm 的回复:]
引用 10 楼 zhao4zhong1 的回复:
不知道有多少前人掉在TCP Socket
send(人多)send(病少)send(财富)
recv(人多病)recv(少财富)
陷阱里面啊!
抽象。。。。
[/Quote]
+1
naturebe
2011-05-27
打赏
举报
回复
真高兴,这次有这么多人帮忙~
naturebe
2011-05-27
打赏
举报
回复
谢谢大家。。。
vcf_reader
2011-05-26
打赏
举报
回复
读内容,发内容
晚晨
2011-05-26
打赏
举报
回复
接收端还是一个缓冲一个缓冲的收啊,但是为此收完了你要对数据进行处理,如果是视频你可以直接播放,如果是文件你就保存。知道收完为止。
接收端示例
int recvLen =0;
f= fopen( .......
do
{
char buf[TRAN_SIZE];
recvLen = recv(s,buf,sizeof(buf),0);
/*一下是文件合并*/
write()
*/
}while(recvLen==-1); //表示传输完毕,或者应用协议中规定的结束标志
firefoxbug
2011-05-26
打赏
举报
回复
这样说,一般的文件信息(比较重要的信息)传输都是用TCP传输的,能保证不丢失,但是像你说的视频之类的,由于所占空间比较大,可以采用UDP传输。我这个学期也做了一些socket的传输,前段时间刚好做了个文件传输的,你需要的话发wanghuazai@vip.qq.com找我···
就想叫yoko
2011-05-26
打赏
举报
回复
以前写的
http://blog.csdn.net/q191201771/archive/2010/12/29/6105654.aspx
贪食蛇男
2011-05-26
打赏
举报
回复
和互相发读信息一样,你互相发读信息是 connect后 send和 recv,他们用来发送和接收一个缓冲区,你说的发读信息,只是看到了发字符串,其实,字符串不就是个缓冲区?
你可以把文件拆开来发不就行了嘛,一次发4K比如,但是双方要有一个基本的协商,发文件前可以先发一个包,这个包里定义了你自己的一个简单的应用层协议,定义文件名,文件大小等,后面开始发文件,很简单的,和发字符串没什么两样。
C语言
+
Socket
实现
文件
传输
实现
文件
传输功能~使用与初学者对
socket
的了解和深一步的研究!希望能给大家带来帮助
关于
C语言
socket
数据
文件
传输的例子
关于
C语言
socket
数据
文件
传输的例子,包括发送端和接受端,可以传输
文件
或者数据
C语言
--视频精讲
C语言
作为被长期使用的编程语言,可以被运用到各种操作系统,游戏,开发
中
。本课程作为互联网上首家使用C99录制的
C语言
教程,展现了全面、专业。标准的
C语言
教程。可以帮助学员从基础开始一点点的深刻理解
C语言
。
socket
编程
c语言
发送
文件
socket
编程,使用
c语言
,需要的可以下载,具体可以去我的博客看一下,使用多线程和队列缓冲机制
C语言
socket
发送http请求的例子源代码
C语言
socket
发送http请求的例子源代码 一个使用
C语言
socket
发送http请求的例子 这是一个linux下使用C的标准
socket
,进行http访问的例子。通过
socket
发送get请求,从
中
国天气网获得指定城市的天气。 该例子在ubuntu 14.04和AM3358的嵌入式linux3.14下实际测试可用。 如果需要在嵌入式linux下使用,需要修改Makefile
文件
的CC和LINK项,指向相应的交叉编译器。
C语言
69,337
社区成员
243,078
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章