请问如何用winsock传送jpg图片文件到客户机?

huang765181881 2002-03-30 05:32:59
因为有很多文件,不断传送.最好是先把文件存入缓冲区?
...全文
51 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
gump2000 2002-04-01
  • 打赏
  • 举报
回复
去http://zhshijie.myetang.com/source/chinese/netware/
下载一个Winsock_cool.zip的程序,该能满足您的要求

gump2000 2002-04-01
  • 打赏
  • 举报
回复
去http://zhshijie.myetang.com/source/chinese/netware/
下载一个Winsock_cool.zip的程序,该能满足您的要求

huang765181881 2002-04-01
  • 打赏
  • 举报
回复
有人回答吗?
soec 2002-04-01
  • 打赏
  • 举报
回复
http://sovb.51.net
文件传输
ronggang 2002-04-01
  • 打赏
  • 举报
回复
模块

Public Type FileInfo
FPath As String
FName As String
FSize As Long
End Type
Public EcgFile As FileInfo
Public Sentbyt As Long
Public Complete, FOK As Boolean
Public FileNum As Long
Public ByteSec As Long, Speed As Long
Public Receivedbyt As Long

窗口(接收)
Private Sub wsk_DataArrival(ByVal bytesTotal As Long)
Dim str1 As String
wsk.GetData str1, vbString
If FileNum = 0 Then
FileNum = FreeFile
On Error Resume Next
If FileLen(EcgFile.FName) > 0 Then Kill EcgFile.FName
Open EcgFile.FName For Binary As #FileNum
End If
Dim GotDat() As Byte
ByteSec = ByteSec + bytesTotal
Receivedbyt = Receivedbyt + bytesTotal
ReDim GotDat(0 To bytesTotal - 1)
wsk.GetData GotDat, vbArray + vbByte
Put #FileNum, , GotDat
If Receivedbyt >= EcgFile.FSize Then
Close #FileNum
Complete = True
If chkClose.Value = Checked Then
wsk.Close
Unload Me
End If
End If
end sub

'发送
Private Sub wsSend_SendComplete()
DoEvents
If FileNum > 0 Then
If Complete = False Then
SendChunk
Else
If chkClose.Value = Checked Then
wsSend.Close
Unload Me
End If
End If
End If
End Sub

Public Function SendChunk()
Dim ChunkSize As Long
Dim Chunk() As Byte

If wsSend.State <> sckConnected Then Exit Function

ChunkSize = 4000
If FileNum = 0 Then '
FileNum = FreeFile
Open EcgFile.FName For Binary As #FileNum
End If

If (LOF(FileNum) - Loc(FileNum)) < 4000 Then _
ChunkSize = (LOF(FileNum) - Loc(FileNum))
ReDim Chunk(0 To ChunkSize - 1)
Get #FileNum, , Chunk
wsSend.SendData Chunk
Sentbyt = Sentbyt + ChunkSize
ByteSec = ByteSec + ChunkSize
If Sentbyt = EcgFile.FSize Then
Complete = True
Close #FileNum
End If
End Function

huang765181881 2002-04-01
  • 打赏
  • 举报
回复
晕!
gump2000 2002-04-01
  • 打赏
  • 举报
回复
请主要看其中winSock相关部分
比如winsock_arrivel...
huang765181881 2002-04-01
  • 打赏
  • 举报
回复
我很笨的,可不可以给我一段最简单的发送文件的程序?
DragonCity 2002-03-30
  • 打赏
  • 举报
回复
如果图片很多,最好做成多线程,避开程序阻塞。传输方式应当是二进制数组吧?
另外,我在VB6用DCOM试验过,无法将Picture对象从服务端程序(ActiveX EXE)传到客户端(标准EXE),在此顺便请教高手,如何通过DCOM实现!

741

社区成员

发帖
与我相关
我的任务
社区描述
VB 版八卦、闲侃,联络感情地盘,禁广告帖、作业帖
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧