winsock 高手停留! ( 积分: 50 )

  • 主题发起人 主题发起人 13708782004
  • 开始时间 开始时间
1

13708782004

Unregistered / Unconfirmed
GUEST, unregistred user!
winsock 在局域网中可以传送文件!WIN2K.GHO也可以正确传送!但在internet上可以聊天,但无法传送文件,不知道什么原因?
希望同类好手共同进步!
 
winsock 在局域网中可以传送文件!WIN2K.GHO也可以正确传送!但在internet上可以聊天,但无法传送文件,不知道什么原因?
希望同类好手共同进步!
 
应该是你传输大的文件比较大'吧,如果文件比较大的话,你必须自己负责拆分和组装。
 
一般聊天是用UDP
 
internet 上也可以传文件,大小不受限制,局域网的send和recv一般会按照你的指定发送数据,internet你必须根据函数返回实际的数据确定你下一块发送的位置。
 
在internet上使用socket必须考虑网络的时滞效应
在internet上发送数据时有可能出现丢包与前后次序倒转等现象
因些在internet上发数据你必须考虑上述事情
同时socket的封包大小一般最大为4048字节

具体的实现过程一般是:
发送方按如下方式:
1、将有结构的数据转换成流形式
2、对流数据进行压缩
3、对压缩后的数据进行加密
4、对加密后的数据进行拆分(其中加密与拆分的先后次序可以颠倒)
5、对每个拆分包进行编号
6、为编号后的包添加前后定界符
7、按一定的速率向接收方发送
接收方则按相反方向处理
1、接收收到的数据
2、判断定界符,正确分离与连接单独的包
3、判断包的编号,正确交换倒置的顺序包,同时在一定时间内若某编号的包不到达表明已丢失则要求重发
4、去除定界符与包编号
5、还原拆分前的状态
6、解密数据
7、解压缩数据
8、将流格式还原成原格式数据


 
楼上的说的有道理!我的问题是根本没有收到 任何4048字迹啊!但局域网中可以,在internet聊天可也以,在真不知道瑞星自动升级是杂个做到的!
 

Similar threads

S
回复
0
查看
815
SUNSTONE的Delphi笔记
S
S
回复
0
查看
727
SUNSTONE的Delphi笔记
S
后退
顶部