游戏开发论坛

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: gpra8764

问一个基础问题:怎样使用winsock传送文件?

[复制链接]

14

主题

175

帖子

175

积分

注册会员

Rank: 2

积分
175
发表于 2005-12-3 13:52:00 | 显示全部楼层

Re:问一个基础问题:怎样使用winsock传送文件?

很简单。
二进制打开文件,读入一个数组,设为mData(i)。
winsck控件设为Sck1,在连接打开的情况下,发送命令为 Sck1.SendData mData,注意只写数组名字。
对方在DataArrival事件中用“Sck2.GetData 数组名字”接受。注意一次发送的,不一定一次接受完。

8

主题

120

帖子

120

积分

注册会员

Rank: 2

积分
120
QQ
发表于 2005-12-3 16:31:00 | 显示全部楼层

Re:问一个基础问题:怎样使用winsock传送文件?

一次发送的,不一定一次接收完
这是什么概念?
那应该怎么办才好?

对了,我以前在网上看到过一篇文章
传送结构体的,我自己写的过程中遇到了问题
是把一个自定义结构体用CopyMemory复制到一个byte类型的数组里
比如
ReDim ary(len(pakMsg)) 'pakMsg是我写的一个自定义类型 [结构体]
CopyMemory ary(0), pakMsg, Len(pakMsg)
sckSend.SendData (ary)
这样发出去了
可是接收的时候需要GetData ary,在此之前我接收时如何知道ary的下标是多大啊。汗

140

主题

1228

帖子

1233

积分

金牌会员

Rank: 6Rank: 6

积分
1233
QQ
发表于 2005-12-3 18:43:00 | 显示全部楼层

Re:问一个基础问题:怎样使用winsock传送文件?

不要跨越细节啊,先看看封包÷协议之类的

14

主题

175

帖子

175

积分

注册会员

Rank: 2

积分
175
发表于 2005-12-4 12:47:00 | 显示全部楼层

Re: Re:问一个基础问题:怎样使用winsock传送文件?

Siner: Re:问一个基础问题:怎样使用winsock传送文件?

一次发送的,不一定一次接收完
这是什么概念?
那应该怎么办才好?
.......
可是接收的时候需要GetData ary,在此之前我接收时如何知道ary的下标是多大啊。汗


  晕。dataarrival事件中,有一参数bytesTotal。

0

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2006-2-6 17:20:00 | 显示全部楼层

Re: 问一个基础问题:怎样使用winsock传送文件?

我发送文件时server先用Lof查一下大小,然后读入字节数组,用winsock发送整个数组。
client的datearrive出发后定义一个空的字节数组(1 to bytestotal),直接用getdate把信息存在数组内后直接写入文件。
问的是我在局域网内传送文件,为什么发几十K的文件就要十几秒,是不是Winsock发送信息的字节数有一定限制?

0

主题

8

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2006-2-10 22:28:00 | 显示全部楼层

Re:问一个基础问题:怎样使用winsock传送文件?

Server:
     while (文件没读完)
     {
             读N个字节;
             发送N个字节;
      }
Client:
      int i;
      While (TRUE)
     {
         if (i==0) break;
         i=recv(....);
         向文件写入I个字节;
     }

0

主题

8

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2006-2-10 22:30:00 | 显示全部楼层

Re:问一个基础问题:怎样使用winsock传送文件?

一定要用二进制方式读写

43

主题

229

帖子

234

积分

中级会员

Rank: 3Rank: 3

积分
234
QQ
 楼主| 发表于 2006-2-17 23:10:00 | 显示全部楼层

Re:问一个基础问题:怎样使用winsock传送文件?

这么古老的贴都有人翻出来啊?……
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-23 11:47

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表