小弟做了一个客户端和服务器的程序,客户端发送文件到服务端,用winsock可以这样实现,程序如下:
服务器端: 
Private Sub Command1_Click() 
Winsock2.LocalPort = 3000 
Winsock2.Listen 
End Sub 
Private Sub Winsock2_ConnectionRequest(ByVal requestID As Long) 
 If Winsock2.State  <> sckClosed Then Winsock2.Close 
        'MsgBox Index, vbOKOnly 
       Winsock2.Accept requestID 
End Sub Private Sub Winsock2_DataArrival(ByVal bytesTotal As Long) 
Dim bytData() As Byte 
Dim lLenFile As Long Dim f 
f = FreeFile 
Open "c:\nn.doc" For Binary As #f  
lLenFile = LOF(f) 
ReDim bytData(1 To bytesTotal) 
Winsock2.GetData bytData 
If lLenFile = 0 Then Put #f, 1, bytData 
Else 
Put #f, lLenFile + 1, bytData 
End If 
Close #f 
Dim a As String 
End Sub 
客户端程序: 
Private Sub Command4_Click() 
Winsock1.RemoteHost = "127.0.0.1" 
Winsock1.RemotePort = 3000 
Winsock1.Connect 
End Sub 
Private Sub Command5_Click() 
Dim FreeF As Integer '空闲的文件号 
Dim LenFile As Long '文件的长度 
Dim bytData() As Byte '存放数据的数组 
FreeF = FreeFile '获得空闲的文件号 
Open "c:\b.doc" For Binary As #FreeF '打开文件 
DoEvents 
LenFile = LOF(FreeF) '获得文件长度 
ReDim bytData(1 To LenFile) '根据文件长度重新定义数组大小 
Get #FreeF, , bytData '把文件读入到数组里 
Close #FreeF '关闭文件 
Winsock1.SendData bytData 
End Sub 
此程序以二进制方式发送和接受,在接收时不能以发送方的文件名保存,希望高手能帮忙!
另外,如果用richtextbox控件,可以直接把文件拖放到richtextbox框里面,但是当发送后,如果客户端和服务器端在一个机器上,能看到文件内容,如果服务器和客户端不在一起,那服务端只能看到图片格式的图标,保存不了数据,请问高手,如何用richtextbox发送和接受客户端所发送的richtextbox中显示的文件内容,和richtextbox中的字符。希望高手帮忙!!