社区
网络及通讯开发
帖子详情
关于传送速度的问题和FTP的问题
jsfserver
2006-05-12 09:41:29
如果服务器和客户端之间传送数据,一般服务器的带宽大,客户端带宽小,而自己写的服务器端的程序不断的send数据到客户端,那客户端来不及接收怎么办?是TCP/IP,不是UDP.
还有怎么实现限速?
最后谁有FTP的服务器和客户端的实现原理及相应API的函数,不要组件的
每个问题20分
...全文
217
5
打赏
收藏
关于传送速度的问题和FTP的问题
如果服务器和客户端之间传送数据,一般服务器的带宽大,客户端带宽小,而自己写的服务器端的程序不断的send数据到客户端,那客户端来不及接收怎么办?是TCP/IP,不是UDP. 还有怎么实现限速? 最后谁有FTP的服务器和客户端的实现原理及相应API的函数,不要组件的 每个问题20分
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
3996906
2006-05-12
打赏
举报
回复
每秒发送一次。。。一次20k。。呵呵,就能限速了。。。
相应的API函数和成熟的组件有区别吗。。区别不大。。
每天上csdn就能有10分的可用分。。
有时候上论坛用分问问题不错。。有的QQ群啊,msn啊,也能找到一些人问问题。。。
解决问题才是关键。。这里的分数只是个象征。。当不了饭滴。。。
祝你好运。。。
BTW:UDP也是TCP/IP。。。你要求用的TCP会满足你的要求的。。。
铖邑
2006-05-12
打赏
举报
回复
客户端来不及收的话,服务端发送会阻塞,这是TCP的流控功能。
jsfserver
2006-05-12
打赏
举报
回复
随便问一下,每个人提问的分数是不是有限制的?如果提问多了,分数用多了是不是就不能再提问了?在哪里看自己的分数?(这些问题没分)
pp616
2006-05-12
打赏
举报
回复
运行结果RecvCount != SendCount 也没出现任何错误。
弄了半天没想通,请问xpdavis(咕嘟)为什么会这样呢???
pp616
2006-05-12
打赏
举报
回复
xpdavis(咕嘟) ( ) 信誉:106 2006-05-12 09:44:00 得分: 0
客户端来不及收的话,服务端发送会阻塞,这是TCP的流控功能。
写了个测试程序。代码如下
//.cpp
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
TCustomWinSocket *Sock=NULL;
__fastcall TForm1::TForm1(TComponent* Owner): TForm(Owner){}
void __fastcall TForm1::FormCreate(TObject *Sender){
ServerSocket1->Port=4321;
ServerSocket1->Active=true;
}
void __fastcall TForm1::Button1Click(TObject *Sender){
ClientSocket1->Host="127.0.0.1";
ClientSocket1->Port=4321;
ClientSocket1->Active=true;
}
void __fastcall TForm1::ServerSocket1ClientConnect(TObject *Sender,TCustomWinSocket *Socket){
Sock=Socket;
}
void __fastcall TForm1::Button2Click(TObject *Sender){
char buf[2048];
ULONG SendCount=0;
memset(buf,'A',2048);
if(Sock)
{
for(int i=0;i<100000;i++)
{
if(!Sock->Connected) break;
Sock->SendBuf(buf,2048);
SendCount+=2048;
Application->ProcessMessages();
}
}
ShowMessage("SendCount="+IntToStr(SendCount));
}
void __fastcall TForm1::ServerSocket1ClientError(TObject *Sender,TCustomWinSocket *Socket, TErrorEvent ErrorEvent, int &ErrorCode){
ShowMessage("Error Code:"+IntToStr(ErrorCode));
}
void __fastcall TForm1::Button3Click(TObject *Sender){
ULONG RecvCount=0;
int RecvLen=0;
char *p;
while(ClientSocket1->Socket->Connected)
{
RecvLen=ClientSocket1->Socket->ReceiveLength();
if(RecvLen==0) break;
p=(char *)malloc(RecvLen);
ClientSocket1->Socket->ReceiveBuf(p,RecvLen);
free(p);
RecvCount+=RecvLen;
}
ShowMessage("RecvCount="+IntToStr(RecvCount));
}
//.h
#ifndef Unit1H
#define Unit1H
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ScktComp.hpp>
class TForm1 : public TForm
{
__published: // IDE-managed Components
TClientSocket *ClientSocket1;
TServerSocket *ServerSocket1;
TButton *Button1;
TButton *Button2;
TButton *Button3;
void __fastcall FormCreate(TObject *Sender);
void __fastcall Button1Click(TObject *Sender);
void __fastcall ServerSocket1ClientConnect(TObject *Sender,
TCustomWinSocket *Socket);
void __fastcall Button2Click(TObject *Sender);
void __fastcall ServerSocket1ClientError(TObject *Sender,
TCustomWinSocket *Socket, TErrorEvent ErrorEvent,
int &ErrorCode);
void __fastcall Button3Click(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TForm1(TComponent* Owner);
};
extern PACKAGE TForm1 *Form1;
#endif
Cute
FTP
Pro 8.3 中文绿色注册版(最好用的
FTP
工具)
Cute
FTP
是小巧强大的
FTP
工具之一,友好的用户界面,稳定的传输速度,Leap
FTP
与 FlashFXP 、Cute
FTP
堪称
FTP
三剑客。FlashFXP 传输速度比较快,但有时对于一些教育网
FTP
站点却无法连接,同时不能连接多个
FTP
站点进行上传下载;Leap
FTP
传输速度稳定,能够连接绝大多数
FTP
站点(包括一些教育网站点);Cute
FTP
虽然相对来说比较庞大,但其功能强大,支持多线程上传下载,智能保持队列下载上传,可同时打开多个站点。 Cute
FTP
最新Pro版是最好的
FTP
客户程序之一,如果你是Cute
FTP
老版本的用户,你会发现很多有用的新特色,如目录比较,宏,目录上传和下载,远端文件编辑,以及IE风格的工具条,可让你编列顺序一次下载或上传同一站台中不同目录下的文件。
网络速率和
FTP
传输速度关系的
问题
网络速率和
FTP
传输速度关系的
问题
考虑过我们
ftp
的实际速度的
问题
吗,为何我们不能达到100M以上的速度?先讲一点网络速率和传输速度的
问题
呵呵,我先是一个CCNP,然后才是一个DBA注意下面B-字节 b-位的区别 1B=8b,不理解的回去看计算机基础知识1000M网络速度是指bit位的速度,理论网络传输速度上限是1000/8=128MB/S 可是这个
解决
FTP
传输慢的
问题
(
ftp
传输慢为什么)
尽管
FTP
是一种传统的文件传输工具,但在实际应用中,我们可能会面临传输速度缓慢的
问题
,这不仅影响工作效率,还浪费时间。镭速
FTP
是一款专业的企业文件传输加速软件,能够在现有基础设施上实现文件的高速传输,并对
FTP
进行智能优化和加速,提升传输速度100倍以上。:
FTP
支持主动和被动模式。总的来说,在使用
FTP
时,我们可以通过检查网络延迟、优化网络配置和传输设置,提高
FTP
传输速度,从而提高工作效率。根据需求,调整网络配置,例如启用QoS(质量服务)功能,将网络流量根据优先级进行管理,提高敏感数据的传输速度。
如何解决企业内部
FTP
文件传输速度过慢和安全
问题
提升网络质量,使用专线、VPN、CDN等技术。镭速使用了自主研发的镭速协议,它基于UDP协议,结合了应用层的校验和重传机制,可以充分利用网络带宽,提高传输的效率,而且可以自动适应网络状况,动态调整传输的速率,避免网络的拥塞和干扰,提高传输的稳定性。在数据化时代里,企业内部的文件传输永远是刚需,而因为
FTP
协议的简单、易用、广泛支持等优点,让很多企业早期都普遍使用,随着数量量的增多,和对安全的要求越来越高,
FTP
也暴露出了一些列
问题
,小编将深入分析导致
FTP
传输过慢的原因以及企业解决这方面
问题
的常用方式。
FTP
传输速度慢分析及解决
影响
FTP
传输速度的因素 检查虚拟主机
FTP
运行状态,是否是关闭状态。 客户端网络
问题
,用户网络带宽过低,网络不稳定。 由于某个文件卡主,导致
FTP
长时间占用服务器资源。 传输文件数量过多,导致某些文件传输失败。 处理方法 建议用户尝试重启
FTP
软件上传或不同软件上传。 通过后台查看是否服务器资源
问题
导致,并针对性的解决
问题
。 建议用户将文件打包成 .rar 格式的文件上传/下载。 ...
网络及通讯开发
1,317
社区成员
8,874
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章